We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Создание высокодоступного SSH-сервера в Termux с двухфакторной аутентификацией и сертификатами

В этой статье мы рассмотрим, как настроить высокодоступный SSH-сервер в Termux с использованием двухфакторной аутентификации (2FA) с поддержкой OTP (One-Time Password) и YubiKey, а также ограничением доступа на основе клиентских сертификатов. Это значительно повысит безопасность вашего сервера, защитив его от несанкционированного доступа.

Необходимые условия

  • Установленная Termux
  • Доступ к командной строке Termux
  • Базовые знания Linux

Этап 1: Установка необходимых пакетов

Сначала необходимо установить необходимые пакеты для SSH-сервера, 2FA и работы с сертификатами.

pkg update && pkg upgrade
pkg install openssh libpam-google-authenticator stunnel

Этап 2: Настройка SSH-сервера

Настроим SSH-сервер, чтобы он использовал PAM для аутентификации.

mkdir -p /data/data/com.termux/files/usr/etc/ssh
nano /data/data/com.termux/files/usr/etc/ssh/sshd_config

В файле sshd_config выполните следующие изменения:

  • PermitRootLogin no
  • PasswordAuthentication no
  • PubkeyAuthentication yes
  • AuthorizedKeysFile .ssh/authorized_keys
  • ChallengeResponseAuthentication no (если используется PAM для 2FA)

Этап 3: Настройка двухфакторной аутентификации (Google Authenticator)

Настроим двухфакторную аутентификацию с использованием Google Authenticator.

google-authenticator

Следуйте инструкциям, которые будут выведены на экран. Вам будет предложено создать секретный ключ и ввести коды из Google Authenticator.

Этап 4: Настройка YubiKey (опционально)

Если вы используете YubiKey, необходимо настроить поддержку YubiKey в PAM.

nano /data/data/com.termux/files/usr/etc/pam.d/sshd

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

auth required pam_yubikey.so

Этап 5: Настройка клиентских сертификатов

Создадим клиентские сертификаты и настроим SSH-сервер для проверки этих сертификатов.

openssl req -new -nodes -text -keyout /data/data/com.termux/files/usr/etc/ssh/id_rsa -out /data/data/com.termux/files/usr/etc/ssh/id_rsa.pub
ssh-keygen -f /data/data/com.termux/files/usr/etc/ssh/id_rsa.pub -C "your_email@example.com"

Затем скопируйте файл id_rsa.pub на клиентское устройство. Добавьте публичный ключ в файл ~/.ssh/authorized_keys на сервере.

Этап 6: Запуск SSH-сервера

sshd

Этап 7: Проверка работы SSH-сервера

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

Дополнительные рекомендации

  • Регулярно обновляйте Termux и установленные пакеты.
  • Используйте брандмауэр для ограничения доступа к SSH-порту.
  • Рассмотрите возможность использования VPN для дополнительной безопасности.

Заключение

Настройка высокодоступного SSH-сервера в Termux с двухфакторной аутентификацией и клиентскими сертификатами – это эффективный способ повысить безопасность вашего сервера. Если вам нужна помощь в настройке и обеспечении безопасности ваших систем, обратитесь к специалистам РыбинскЛАБ. Мы предлагаем широкий спектр услуг в области информационной безопасности, включая настройку и аудит систем защиты информации. Посетите наш сайт РыбинскЛАБ для получения дополнительной информации.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект