ssh не использует перенаправленные агентом ключи

455
dbrane

Я прошу 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. Как я могу обойти это?

2

1 ответ на вопрос

2
dbrane

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

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

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

OMG, я искал это решение везде! winni2k 6 лет назад 0