2

Я ssh с local на X , и я хотел бы ssh с X на Y используя защищенные паролем ключи RSA, все мои личные ключи хранятся на local . Тем не мение,

local> ssh -A X
X> ssh Y
Received disconnect: 2: Too many authentication failures

Это потому, что у меня слишком много ключей в агенте, и он не может найти нужный ключ, пока сервер Y считает меня вредоносным. Я могу подтвердить это, удалив все ключи из моего ~/.ssh кроме тех, которые предназначены для X и Y , и тогда команда ssh работает. Теперь я не могу указать правильный ключ для использования с ssh Y -o IdentiyFile=path потому что правильный путь к ключу - local , а не X Более того, если я укажу -o IdentitiesOnly=yes , он никогда не ищет ключи, предоставленные агентом, он только ищет ключи в X:~/.ssh . Как я могу обойти это?

1 ответ1

2

Хорошо, я нашел решение. В системе X я создаю раздел ~/.ssh/config для Y который выглядит примерно так:

Host Y
    ...
    IdentityFile ~/.ssh/id_Y.pub
    ...

где ~/.ssh/id_Y.pub - это копия (на X) открытого ключа для локального для Y sshd нужно только знать, где находится открытый ключ, он узнает все остальное, что ему нужно от агента.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .