Двухфакторная аутентификация SSH

Двухфакторная аутентификация – это дополнительный уровень защиты сервера/учетной записи. При этом кроме имени пользователя и пароля будет запрашиваться уникальный код подтверждения. То есть, каждый раз при подключении нужно будет ввести код со смартфона.

Чтобы защитить 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: , , ,

Добавить комментарий