48

Я использую Mac OS X, и кажется, что после SSHing к нескольким машинам, используя файлы идентификации, мой 'ssh-agent' создает много идентификаторов / ключей, а затем иногда предлагает слишком много для удаленной машины, заставляя их сбросьте меня с толку перед подключением:

Получено отключение от 10.12.10.16: 2: слишком много ошибок аутентификации для cwd

Совершенно очевидно, что происходит, и эта страница рассказывает об этом более подробно:

SSH-серверы позволяют вам только пытаться аутентифицироваться определенное количество раз. Каждая неудачная попытка ввода пароля, каждая неудачная публикация идентификатора пользователя и т.д. Выполняют одну из этих попыток. Если в вашем агенте много ключей SSH, вы можете обнаружить, что сервер SSH может выгнать вас, прежде чем вы вообще сможете попытаться выполнить аутентификацию по паролю. Если это так, есть несколько разных способов.

Перезагрузка очищает агент, а затем все снова работает нормально. Я также могу добавить эту строку в мой файл .ssh/config чтобы заставить его использовать аутентификацию по паролю:

PreferredAuthentications keyboard-interactive,password

Как бы то ни было, на странице, на которую я ссылался, я увидел примечание об удалении ключей из агента, но я не уверен, применимо ли это к Mac, так как они кажутся очищенными после перезагрузки.

Есть ли простой способ очистить все ключи в 'ssh-agent' (то же самое, что происходит при перезагрузке)?

2 ответа2

84

Ваши ключи SSH не должны автоматически добавляться к агенту только потому, что вы подключились по SSH к серверу ...

Запустите ssh-add -l для просмотра списка ключей агента, ssh-add -D для очистки всех ключей.

0

Другой способ ограничить проверку ключей - добавить IdentitiesOnly yes и IdentityFile ~/.ssh/<nameofkey> в ваш файл /.ssh/config .

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