Как сделать сбой ssh, а не запрашивать пароль, если аутентификация с открытым ключом не удалась?

У меня есть скрипт, который использует несколько серверов с использованием проверки подлинности с открытым ключом. Один из серверов остановил доступ к журналу сценария из-за проблемы с конфигурацией, а это означает, что скрипт застревает с приглашением «Пароль:», которое, очевидно, не может ответить, поэтому он даже не пытается использовать остальные серверы в списке.

Есть ли способ сообщить клиенту ssh не запрашивать пароль, если проверка подлинности ключа завершается неудачно, а вместо этого просто сообщить об ошибке подключения и продолжить мой скрипт?

88 голосов | спросил rjmunro 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2009 14:58:01 +0400 2009, 14:58:01

4 ответа


116

Для OpenSSH есть также BatchMode, который в дополнение к отключению запроса пароля должен отключать запрос для кодовых фраз для ключей.

  

BatchMode

     
    

Если установлено значение «Да», запрос парольной фразы /пароля будет отключен.     Эта опция полезна в сценариях и других пакетных заданиях, где нет     пользователь присутствует для предоставления пароля. Аргумент должен быть     «да» или «нет». Значение по умолчанию - «нет».

  

Использование образца:

ssh -oBatchMode=yes -l <user> <host> <dostuff>
ответил Kjetil Joergensen 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2009 16:09:22 +0400 2009, 16:09:22
11

Добавьте в свой ~/.ssh/config следующее:

PasswordAuthentication no

и отключить аутентификацию пароля на сервере, добавьте ту же строку в /etc/ssh/sshd_config и перезапустите sshd.

ответил cas 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2009 15:19:43 +0400 2009, 15:19:43
9

Если вы используете dropbear, просто добавьте параметр «-s», чтобы отключить аутентификацию пароля.

ответил sybreon 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2009 15:54:03 +0400 2009, 15:54:03
6

В командной строке (или ~/.ssh/config) вы можете установить PreferredAuthentications.

PreferredAuthentications=publickey
ответил Rory 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2009 15:39:34 +0400 2009, 15:39:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132