Можно ли включить ssh для одновременного использования пары ключей и пароля, чтобы клиенту нужен был файл ключей, а также был известен пароль? Для того, чтобы один не работал.
У меня не должно быть двухэтапной аутентификации с использованием радиуса или чего-то еще. Просто хочу немного улучшить безопасность.
Спасибо
Теперь в RHEL / CentOS 7 и любой системе с последней версией OpenSSH вы можете использовать:
AuthenticationMethods "publickey,password" "publickey,keyboard-interactive"
Также см: https://lwn.net/Articles/544640/
Также важно отметить, что функция AuthenticationMethods применяется только к протоколу SSH 2, и что каждый указанный метод аутентификации также должен быть явно включен в файле sshd_config.
И подробное объяснение здесь:
https://sysconfig.org.uk/two-factor-authentication-with-ssh.html
Match User johndoe
AuthenticationMethods publickey,keyboard-interactive
Прочтите запятые как логическое И. При входе в систему сначала проверяется пара ключей johndoe, и если она совпадает, вы увидите следующее:
Authenticated with partial success.
Затем его попросят ввести пароль. Итак, сам того не осознавая, вы только что настроили MFA. Ваша пара ключей - это то, что у вас есть, а пароль учетной записи - это то, что вы знаете. Возможно, это самый простой способ настройки MFA с SSH, который уже лучше, чем однофакторная аутентификация.