Я хочу настроить sshd
требовать, чтобы соединение аутентифицировалось с помощью ключа и пароля.
Я еще не рассматривал использование PAM или других внешних методов аутентификации, но на данный момент я предполагаю (на основе sshd_config(5)
в том, что это невозможно. Докажи, что я неправ. Пожалуйста?
Если вы используете openssh, я не верю, что вы сможете это сделать. Существуют и другие демоны SSH2, которые разрешают расширенные директивы SSH2, предоставляя вам директивы под названием «RequiredAuthentication» и «AllowedAuthentication»; оба являются списками, разделенными запятыми. Вы можете увидеть отличную таблицу совместимости по адресу:
http://hell.org.ua/Docs/oreilly/tcpip2/ssh/ch05_05.htm
Если у вас есть такое требование, вам следует заменить демон ssh. Тогда конфигурация будет такой:
AllowedAuthentications password,publickey
RequiredAuthentications password,publickey
Ура
Если вы создаете сертификат с парольной фразой, вам потребуется ввести эту парольную фразу при входе в систему с аутентификацией сертификата.
http://novosial.org/openssh/publickey-auth/
Обратите особое внимание на «Генерацию ключа» для генерации ключа с парольной фразой и на «Распространение ключей» для включения входа на данный сервер с ключом, защищенным парольной фразой.