Вот что случилось:
- Я настроил ключ ssh так, чтобы
user
мог ssh изA
вB
без пароля. - Я получил пароль
user
неправильно в каком - то другом контексте слишком много раз, иuser
's счет был заблокирован. (Здесь используется Active Directory) - ЭТО разблокировал аккаунт. Одновременно с разблокировкой запускался скрипт, который каждые 5 секунд вызывал что-то вроде
ssh user@B some-health-check-command
что, казалось, работало нормально до того, как я заставилuser
заблокироваться на шаге 2. - ИТ сообщает, что
user
надежно блокируется через короткое время после каждой попытки разблокировки.
Я думал, что ключ ssh позволит ssh user@B some-command
если учетная запись не заблокирована.
Но он ведет себя так, как будто, когда user
разблокирован, B
внезапно запрашивает пароль, и, поскольку моя команда многократно запускается без ввода пароля, учетная запись блокируется после 5 попыток.
Account cannot be accessed at this time.
Please contact your system administrator.
Мои вопросы ...
- Это то, что происходит? Или: что происходит?
- Что еще более важно: Как я могу перенастроить вещи так, чтобы мой сценарий не вызывал проблем? Могу ли я выполнить то, что хочу, не устанавливая
Expect
? (Я не знаю, есть ли у меня разрешение на это)
Другие примечания: в настоящее время не использует ssh-agent. Команда ssh выполняется на нашем мастере Jenkins, в Linux. A
и B
- Mac OS X. user
управляется в Active Directory и обычно может войти на все три машины. Насколько я знаю, кроме этих вещей и ключа ssh, который я настроил, все остальное имеет конфигурацию по умолчанию.