Установка двухфакторной аутентификации (2FA) в SSH Linux

Aliexpress IN

Двухфакторная аутентификации Linux позволяет обеспечить вход по SSH, с использованием дополнительного одноразового пароля. Система двухфактоной аутентификации позволяет обеспечить доступ пользователя к системе используя несколько методов аутентификации. В случае с SSH это имя пользователя, пароль (ключ SSH) и физический доступ к смартфону пользователя (который имеет свою защиту).

двухфакторная аутентификации Linux

Перед началом настройки убедитесь что на сервере установлена корректная временная зона и синхронизированы часы. В противном случае можно потерять доступ к серверу.

Установка Google Authenticator в Linux

Необходимо установить на хосте Linux Google Authenticator согласно данному руководству.

Генерация ключа входа

Для начала, просто запускаем google-authenticator, на Linux машине.

google-authenticator

Приложение сгенерирует QR-код и секретный ключ.

Подключение приложения

В различных мактетах сейчас есть множество приложений для работы с 2FA, наиболее распространенные Google Authenticator и Яндексю.Ключ (они совместымы и можно использовать любое)

Есть два способа подключения:

  • Ввести секретный код руками
  • Сканировать ключ, просто наведя камеру на экран

После ввода данных, приложение сгенерирует одноразовый пароль

Одноразовый пароль

Настройка двухфакторной аутентификации Linux

Одноразовый пароль надо ввести в консоли (Enter code from app), далее на все вопросы отвечаем Y

Приложение так же создаст аварийные коды (emergency scratch codes), которые необходимо сохранить в надежном месте на случай потери доступа к устройству.

Google Authenticator Install

 

Включение двухфакторной аутентификации в SSH Сервере

Последним шагом, необходимо внести изменения в настройки SSH сервера

в файл /etc/pam.d/sshd, добавить строку:

nano /etc/pam.d/sshd
auth required pam_google_authenticator.so

в файле /etc/ssh/sshd_config, необходимо изменить параметр ChallengeResponseAuthentication:

nano /etc/ssh/sshd_config
ChallengeResponseAuthentication yes

После чего, перезапустить ssh сервер:

systemctl reload sshd

После этого, при следующем входе сервер запросит дополнительный код

Verification code

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