Двухфакторная аутентификация добавляет дополнительный слой безопасности, требуя не только знание пароля, но и наличие физического устройства или информации, которую злоумышленнику сложнее получить. Это значительно повышает безопасность, поскольку даже если злоумышленнику удастся узнать или украсть ваш пароль, ему все равно потребуется дополнительная информация для успешной аутентификации. Настроив двухфакторную аутентификацию для SSH подключения вы значительно увеличиваете защиту вашего сервера.
Настроить двухфакторную утентификацию для SSH подключения очень просто. Подключимся к вашему виртуальному либо выделенному серверу по SSH и установим пакет
sudo apt-get install libpam-google-authenticator
Настроим ssh сервер для работы с двухфакторной аутентификацией. Добавим в файл sshd
nano /etc/pam.d/sshd
Строку
auth required pam_google_authenticator.so
А в файле sshd_config
nano /etc/ssh/ sshd_config
Добавьте строку
ChallengeResponseAuthentication yes
Настройка двухфакторной аутентификации пользователя
Войдите в систему под пользователем для которого вы хотите настроить двухфакторную аутентификацию в ssh.
Для настройки двухфакторной аутентификации выполняем команду
google-authenticator
После выполнения вы команды в терминале будет сгенерирован QR код который вам необходимо будет добавить в приложение, либо вы можете использовать secret key который указан под QR кодом.
После этого следуйте подсказкам программы и завершите настройку.
Теперь мы можем перезагрузить ssh сервер и попробовать подключиться под пользователем для которого мы настроили двухфакторную аутентификацию.
service sshd restart
Подключаемся к серверу под пользователем для которого мы настроили двухфакторную аутентификацию и теперь перед вводом пароля нам будет необходимо ввести код, а уже потом только пароль.
Важное замечание! Если у Вас настроен вход пользователя по ssh ключу, то двухфакторная аутентификация не будет применяться.