Як видалити записи ssh-агента (на Mac OS X)?


60

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

Отримано відключення з 10.12.10.16: 2: Забагато помилок аутентифікації для cwd

Досить очевидно, що відбувається, і ця сторінка розповідає про це детальніше:

Сервери SSH дозволяють лише спробувати перевірити автентифікацію певну кількість разів. Кожна невдала спроба пароля, кожен невдалий паблік / ідентифікатор, який пропонується тощо, займаються однією з цих спроб. Якщо у вашого агента багато ключів SSH, ви можете виявити, що SSH-сервер може вас вигнати, перш ніж взагалі дозволити вам спробувати перевірку автентичності пароля. Якщо це так, є кілька різних способів вирішення.

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

PreferredAuthentications keyboard-interactive,password

Так чи інакше, я побачив на сторінці, на яку я посилався, на замітку говорив про видалення ключів з агента, але я не впевнений, чи це стосується Mac, оскільки вони, як видаються, очищаються після перезавантаження.

Чи є простий спосіб очистити всі ключі в 'ssh-agent' (те саме, що відбувається при перезавантаженні)?

Відповіді:


97

Ваші SSH ключі не повинні автоматично додаватися до агента тільки тому, що ви SSH'ed до сервера ...

Запустіть, ssh-add -lщоб перерахувати ключі агента, ssh-add -Dщоб очистити всі ключі.


Можливо, це має щось спільне з конфігурацією OSX? Якщо я набираю, ssh-add -lя нічого не отримую. Якщо я набираю текст, ssh -i ~/keyFileLocation.dsa un@remotehostя отримую спливаюче діалогове вікно OS X із запитом парольної фрази. Я набираю його, а потім він з'єднує мене. Якщо я відключу, а потім введіть, ssh-add -lвін показує мені особу, яку я щойно використав. Після того як я перезавантажую комп'ютер і набираю ssh-add -lйого знову порожнім. ssh-add -Dдобре працював, щоб очистити ключі без перезавантаження. Дякую!
cwd

Через чотири роки, і це все ще залишається проблемою, але це виправлення все ще працює - дякую
jnunn

Гей, чи можете ви мене про це направити? superuser.com/questions/951002/…
Нікс

4
Неправильно (у 2017 році): див. AddKeysToAgentПараметр конфігурації, який призначений для прямої мети додавання ваших ключів SSH до агента лише тому, що ви SSH'd на сервері.
Радон Росборо

1

Ще один спосіб обмежити те, що є ключами, перевіряється, - це додавати IdentitiesOnly yesі IdentityFile ~/.ssh/<nameofkey>у свій /.ssh/configфайл.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.