Я запускаю Mac OS X, і виявляється, що після SSHing на декількох машинах, використовуючи файли посвідчення, мій 'ssh-агент' збирає багато ідентичності / ключів, а потім іноді пропонує занадто багато на віддаленій машині, викликаючи їх ударити мене перед підключенням:
Отримано відключення з 10.12.10.16: 2: Забагато помилок аутентифікації для cwd
Досить очевидно, що відбувається, і ця сторінка розповідає про це детальніше:
Сервери SSH дозволяють лише спробувати перевірити автентифікацію певну кількість разів. Кожна невдала спроба пароля, кожен невдалий паблік / ідентифікатор, який пропонується тощо, займаються однією з цих спроб. Якщо у вашого агента багато ключів SSH, ви можете виявити, що SSH-сервер може вас вигнати, перш ніж взагалі дозволити вам спробувати перевірку автентичності пароля. Якщо це так, є кілька різних способів вирішення.
Перезавантаження очищає агент, а потім все працює нормально. Я також можу додати цей рядок до свого .ssh/config
файлу, щоб змусити його використовувати автентифікацію пароля:
PreferredAuthentications keyboard-interactive,password
Так чи інакше, я побачив на сторінці, на яку я посилався, на замітку говорив про видалення ключів з агента, але я не впевнений, чи це стосується Mac, оскільки вони, як видаються, очищаються після перезавантаження.
Чи є простий спосіб очистити всі ключі в 'ssh-agent' (те саме, що відбувається при перезавантаженні)?
ssh-add -l
я нічого не отримую. Якщо я набираю текст,ssh -i ~/keyFileLocation.dsa un@remotehost
я отримую спливаюче діалогове вікно OS X із запитом парольної фрази. Я набираю його, а потім він з'єднує мене. Якщо я відключу, а потім введіть,ssh-add -l
він показує мені особу, яку я щойно використав. Після того як я перезавантажую комп'ютер і набираюssh-add -l
його знову порожнім.ssh-add -D
добре працював, щоб очистити ключі без перезавантаження. Дякую!