Двухфакторная аутентификация SSH
Linux, VPS | Комментировать запись
Двухфакторная аутентификация – это дополнительный уровень защиты сервера/учетной записи. При этом кроме имени пользователя и пароля будет запрашиваться уникальный код подтверждения. То есть, каждый раз при подключении нужно будет ввести код со смартфона.
Чтобы защитить SSH сервер с помощью двухфакторной аутентификации, можно использовать модуль PAM приложения Google Authenticator.
Внимание: при активации google-authenticator для обычного пользователя (не root) войти на сервер непосредственно с root-пользователя будет невозможно. В таком случае нужно будет зарегистрироваться как новый пользователь, а затем переключиться на root-пользователя с помощью команды su.
Прежде чем приступить к выполнению руководства, установите приложение Google Authenticator, доступное для Android, iOS и BlackBerry. Для этого используйте market; также можно воспользоваться мобильным браузером для перехода на m.google.com/authenticator. После этого подключитесь к VPS и переключитесь на root-пользователя.
1: Установка зависимостей
sudo apt-get install libpam-google-authenticator
Файлы libqrencode3 будут установлены автоматически. Они позволяют использовать камеру телефона для сканирования QR-кода непосредственно из консоли.
2: Настройка модуля PAM
Чтобы модуль работал должным образом, нужно отредактировать два конфигурационных файла.
nano /etc/pam.d/sshd
Внесите следующую строку в верхней части файла:
auth required pam_google_authenticator.so
Следующий файл, который нужно отредактировать:
nano /etc/ssh/sshd_config
Найдите следующую строку и отредактируйте ее таким образом:
ChallengeResponseAuthentication yes
3: Активация двухфакторной аутентификации пользователя
Приложение Google Authenticator можно активировать как для root, так и для любого другого пользователя. Переключитесь на пользователя, который будет использовать двухфакторную аутентификацию и введите:
google-authenticator
Теперь нужно будет ответить на несколько вопросов; на первые два вопроса ответьте yes (у):
Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/USERNAME/.google_authenticator" file (y/n) y
На следующие вопросы ответьте согласно потребностям сервера.
Приложение Google Authenticator можно использовать для сканирования QR-кода, а также для добавления учетной записи при помощи секретного ключа и защитного кода.
Примечание: не забудьте распечатать скретч-коды и хранить их в надежном месте!
Теперь вернитесь в учетную запись root, чтобы перезапустить SSH-сервер. Пропустите следующий шаг, если двухфакторная аутентификация была добавлена для root-пользователя.
su root
В завершение перезапустите SSH-сервер.
/etc/init.d/ssh restart
Готово! Теперь SSH-сервер надежно защищен при помощи двухфакторной аутентификации.
Tags: Google Authenticator, PAM, SSH, VPS