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

Termux – мощный терминальный эмулятор для Android, позволяющий запускать полноценную Linux‑окружение. Одна из самых полезных возможностей – возможность развернуть собственный SSH‑сервер и обеспечить доступ к устройству из любой точки мира. В этой статье мы подробно разберём, как установить OpenSSH, настроить ключевую аутентификацию и добавить двухфакторную защиту с помощью Google Authenticator.

Подготовка окружения

  • Установите Termux из Google Play или F-Droid.
  • Обновите пакеты:
    pkg update && pkg upgrade -y
  • Установите необходимые инструменты:
    pkg install openssh openssh-sftp-server gnupg -y

Создание пользователя и генерация SSH‑ключей

Для повышения безопасности рекомендуется не использовать пользователя root. Создадим отдельного пользователя sshuser и сгенерируем пару ключей.

adduser sshuser
passwd sshuser   # задаём пароль
su - sshuser
ssh-keygen -t ed25519 -C "termux@mydevice"
# При запросе пути сохранения оставьте значение по умолчанию
# При желании задайте парольную фразу

Публичный ключ будет находиться в файле ~/.ssh/id_ed25519.pub. Добавьте его в ~/.ssh/authorized_keys:

cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Настройка OpenSSH

Отредактируем конфигурационный файл /data/data/com.termux/files/usr/etc/ssh/sshd_config для включения ключевой аутентификации и отключения пароля.

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
ChallengeResponseAuthentication yes
UsePAM yes

Сохраните изменения и запустите демон SSH:

sshd

Проверьте, что сервер слушает нужный порт:

netstat -tuln | grep 2222

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

Для 2FA воспользуемся пакетом google-authenticator, который реализует TOTP (Time‑Based One‑Time Password).

pkg install libpam-google-authenticator -y

Отредактируйте PAM‑модуль для SSH, добавив строку в файл /data/data/com.termux/files/usr/etc/pam.d/sshd:

auth required pam_google_authenticator.so nullok

Теперь каждый пользователь, включая sshuser, может создать свой секретный ключ:

google-authenticator
# Следуйте инструкциям:
# 1) Сгенерировать QR‑код – отсканируйте его приложением Google Authenticator.
# 2) Сохранить резервные коды.
# 3) Выберите «time‑based» (по умолчанию).
# 4) Ответьте «yes» на запросы о обновлении файла ~/.google_authenticator.

После этого при подключении к SSH‑серверу будет запрошен OTP‑код после ввода пароля (или сразу после ключевой аутентификации, если пароль отключён).

Автозапуск SSH‑демона при старте Termux

Для удобства можно добавить запуск сервера в ~/.bashrc или воспользоваться планировщиком termux‑boot (пакет termux-services).

pkg install termux-services -y
sv-enable sshd
sv start sshd

Тестирование подключения

С другого устройства выполните:

ssh -p 2222 -i /path/to/id_ed25519 sshuser@

После успешной аутентификации системой будет запрошен одноразовый код из Google Authenticator.

Заключение

Развёртывание собственного SSH‑сервера в Termux с двухфакторной аутентификацией позволяет превратить Android‑устройство в надёжный удалённый хост. Такая конфигурация сочетает в себе гибкость Linux‑окружения, удобство мобильного доступа и высокий уровень защиты.

Если вы хотите ускорить процесс внедрения безопасных решений, настроить CI/CD, мониторинг или получить профессиональную поддержку по мобильным DevOps‑инструментам, обратитесь к RybinskLab. Наши эксперты помогут спроектировать и реализовать индивидуальные решения под любые задачи.

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

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

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