К основному контенту

Как купить КАСКО на новый автомобиль – советы специалистов

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

В этом руководстве будет показано, как настроить в SSH двухфакторную  аутентификацию на сервере Ubuntu 18.04/18.10 с использованием известного Google Authenticator.

Это значительно повысит безопасность вашего сервера OpenSSH.

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

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

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

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

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

Шаг 1: Установка и настройка Google Authenticator на Ubuntu 18.04, 18.10 Server

Войдите в свой сервер Ubuntu и выполните следующую команду для установки Google Authenticator из репозитория пакетов Ubuntu по умолчанию.

sudo apt install libpam-google-authenticator

Затем запустите команду Google-аутентификатора, чтобы создать новый секретный ключ в вашем домашнем каталоге.

google-authenticator

Система вас спросит "Do you want authentication tokens to be time-based?" Введите y и нажмите enter.



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

Установите приложение Google Authenticator через Google Play или магазин приложений Apple на свой мобильный телефон и отсканируйте QR-код.

Обратите внимание, что вам нужно увеличить окно терминала для сканирования полного QR-кода.



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

После сканирования QR-кода вы можете увидеть шестизначный одноразовый пароль на вашем телефоне.

По умолчанию он «живет» 30 секунд.

Вам нужно будет ввести этот одноразовый пароль, чтобы войти на сервер Ubuntu через SSH.



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

Рекомендуется сохранить эту информацию в безопасном месте для последующего использования.

Затем вы можете ввести y, чтобы ответить на все оставшиеся вопросы.

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

Шаг 2. Настройте демон SSH для использования Google Authenticator.

Откройте файл конфигурации сервера SSH.

sudo nano /etc/ssh/sshd_config

Найдите в файле следующие два параметра и убедитесь, что для обоих из них установлено значение «yes».

UsePAM yes ChallengeResponseAuthentication yes

PAM означает подключаемый модуль аутентификации. Это простой способ подключить другой метод аутентификации в вашу Linux-систему. Чтобы включить аутентификацию Google Authenticator с SSH, аутентификация PAM и Challenge-Response должна быть включена. Сохраните и закройте файл. Затем перезапустите демон SSH, чтобы изменения вступили в силу.

sudo systemctl restart ssh

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

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

sudo nano /etc/pam.d/sshd

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

@include common-auth

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

#One-time password authentication via Google Authenticator auth required pam_google_authenticator.so



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

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



Как включить аутентификацию с открытым ключом и аутентификацию c одноразовым паролем

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

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

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

Добавьте следующую строку в конец этого файла.

AuthenticationMethods publickey,keyboard-interactive

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

sudo systemctl restart ssh

Нам также нужно отредактировать конфигурационный файл SSH PAM.

sudo nano /etc/pam.d/sshd

Закомментируйте следующую строку (добавьте # в начале), чтобы отключить аутентификацию по паролю.

@include common-auth

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

С этого момента вам необходимо использовать SSH-ключ и код подтверждения аутентификации Google для входа в систему.

Заключение

  • Каждому пользователю на вашем сервере Ubuntu необходимо запустить команду аутентификации Google и отсканировать QR-код, чтобы использовать двухфакторную аутентификацию.
  • Emergency Scratch Code — это ваш резервный код. Если вы потеряете свой телефон, вы можете ввести один из пяти кодов аварийного кода вместо одноразового пароля для завершения двухэтапной проверки. Эти коды предназначены только для одноразового использования.
  • Если вы хотите изменить секретный ключ, просто войдите в свой сервер и снова запустите команду аутентификации Google, чтобы обновить файл ~/.google_authenticator.
  • Поскольку одноразовый пароль вычисляется с использованием общего секретного ключа и текущего времени, поэтому рекомендуется включить синхронизацию времени NTP на вашем сервере Ubuntu.

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Установка операционной системы Raspberry pi 3

Raspberry Pi - это недорогой микрокомпьютер, который  помещается на ладони и может сделать очень многое. На основе этого микрокомпьютера можно создавать как серьезные проекты, по управлению умным домом, так и использовать в качестве медиацентра или даже легковесного домашнего компьютера с Linux. В одной из предыдущих статей мы подробно рассматривали начало работы с Raspberry Pi 3, как подключить устройство и что для этого необходимо, сейчас же остановимся более подробно на такой задаче, как установка операционной системы Raspberry Pi 3. Здесь используется процессор на архитектуре ARM, а значит вы можете установить любой поддерживаемый ARM дистрибутив, или же созданный специально для Raspberry дистрибутив Raspbian. Содержание статьи: Установка системы Raspberry с помощью NOOBS 1. Подготовка SD карты 2. Загрузка образ NOOBS 3. Запись на SD карту 4. Запуск системы Установка системы Raspberry из образа 1. Загрузка образа 2. Запись образ на карту Выводы Установка системы Raspberry …

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…