На этот вопрос уже есть ответ здесь:
В настоящее время я отключаю аутентификацию по паролю на всех своих ssh-серверах (хорошая идея дня!). Некоторые из моих серверов используются совместно с другими людьми, и я хочу заставить их использовать ключ ssh с парольной фразой. Можно ли запретить вход по ssh для ключей ssh без парольной фразы?
Как упоминалось в других ответах, вы не можете принудительно использовать парольную фразу для ключа. Однако для обеспечения двухфакторной аутентификации (то, что у вас есть, ключ и что-то, что вы знаете, пароль), вы можете использовать другой вариант.
В более новых версиях OpenSSH вы можете установить общий ключ RequiredAuthentication2, пароль
в / etc / ssh / sshd_config
. Это заставит пользователя использовать как открытый ключ, так и аутентификацию по паролю, что фактически даст вам двухфакторную аутентификацию.
К сожалению, вы не можете этого сделать, поскольку все это управляется на стороне клиента. Возможно, сейчас самое время познакомить людей с ssh-agent или конкурсом, если вы используете putty / kitty или что-то подобное. Парольную фразу нужно указать только один раз, когда ключ добавляется к агенту с помощью этого метода.