Как настроить двухфакторную аутентификацию в SSH в Ubuntu?

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

La Двухфакторная аутентификация (2FA) не является чем-то уникальным, что можно использовать в социальных сетях. или на любом другом сайте. Что ж, эта мера безопасности также может быть реализована в операционной системе.

Оттого Сегодня мы увидим, как реализовать двухфакторную аутентификацию в SSH в Ubuntu. и производные, использующие хорошо известный Google Authenticator, что значительно повысит безопасность вашего сервера OpenSSH.

Обычно вам просто нужно ввести пароль или использовать ключ SSH для удаленного входа в систему.

Двухфакторная аутентификация (2FA) требует ввода двух частей информации для входа в систему.

Следовательно, вам также потребуется ввести одноразовый пароль на основе времени для входа на свой SSH-сервер.

Этот одноразовый пароль рассчитывается с использованием алгоритма TOTP, который является стандартом IETF.

Установка и настройка Google Authenticator в Ubuntu и производных

Первый шаг, который мы собираемся выполнить, - это установка Google Authenticator в нашей системе., поэтому мы собираемся открыть терминал в системе (это можно сделать с помощью комбинации клавиш «Ctrl + Alt + T») и в нем мы собираемся ввести следующую команду:

sudo apt install libpam-google-authenticator

Установка завершена мы собираемся запустить только что установленное приложение с помощью следующей команды:

google-authenticator

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

После этого, они увидят QR-код, который можно будет сканировать с помощью приложения TOTP на своем телефоне.

Здесь Мы рекомендуем использовать приложение Google Authenticator на вашем мобильном телефоне.il, поэтому вы можете установить приложение через Google Play или Apple App Store на свой мобильный телефон.

Уже имея приложение на телефоне, вы должны отсканировать QR-код с его помощью. Имейте в виду, что вам нужно увеличить окно терминала, чтобы просканировать весь QR-код.

QR-код представляет собой секретный ключ., который известен только его SSH-серверу и приложению Google Authenticator.

После сканирования QR-кода они смогут увидеть на своем телефоне уникальный шестизначный токен. По умолчанию этот токен длится 30 секунд, и его необходимо ввести для входа в Ubuntu через SSH.

google-Authenticator-secret-key

В терминале вы также сможете увидеть секретный код, а также код подтверждения и код аварийного запуска.

Из чего мы рекомендуем вам сохранить эту информацию в надежном месте для дальнейшего использования. Из других вопросов, которые нам задают, мы просто ответим утвердительно, набрав букву y.

Настройка SSH для использования с Google Authenticator

Уже рассчитывая на вышесказанное, Теперь мы собираемся выполнить необходимую конфигурацию, чтобы иметь возможность использовать SSH-соединение в нашей системе с Google Authenticator.

В терминале vМы собираемся ввести следующую команду

sudo nano /etc/ssh/sshd_config

Внутри файла мы будем искать следующие строки и изменим их на «да», а именно:

UsePAM yes

ChallengeResponseAuthentication yes

После внесения изменений сохраните изменения, сделанные с помощью Ctrl + O, и закройте файл с помощью Ctrl + X.

В том же терминале мы собираемся перезапустить SSH с помощью:

sudo systemctl restart ssh

По умолчанию аутентификация требует, чтобы они вводили пароль пользователя для входа в систему.

Для чего давайте отредактируем файл правил PAM для демона SSH.

sudo nano /etc/pam.d/sshd

В начале этого файла вы можете увидеть следующую строку, которая включает аутентификацию по паролю.

ChallengeResponseAuthentication

Который мы должны установить на "да".

Чтобы также включить аутентификацию с одноразовым паролем, добавьте следующие две строки.

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

Сохраните и закройте файл.

С этого момента каждый раз, когда они входят в вашу систему через SSH-соединение, им будет предлагаться ввести пароль пользователя и код подтверждения (одноразовый пароль, сгенерированный Google Authenticator).


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Мигель сказал

    Здравствуйте, довольно простое руководство, однако, как только я сделаю все шаги, которые больше не могу вводить через ssh, он выдает ошибку неверного пароля, я даже не могу запросить 2FA.

    У меня Ubuntu Server 20.04