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

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

Защита терминального доступа в Termux: двухфакторная аутентификация и SSH‑ключи

Подробное руководство по защите доступа к Termux: настройка SSH‑ключей, двухфакторной аутентификации с Google Authenticator и hardening SSH‑демона.

Termux превратил Android‑устройства в полноценные Linux‑терминалы. При этом доступ к системе часто осуществляется через SSH, что открывает возможности, но и риски. В статье рассмотрим два проверенных метода защиты: двухфакторную аутентификацию (2FA) и работу с SSH‑ключами.

Почему стандартный пароль недостаточен

Пароль можно перехватить, подобрать или забыть. При подключении к публичным Wi‑Fi или через небезопасные сети риск повышается. SSH‑ключи и 2FA значительно снижают вероятность неавторизованного доступа.

Настройка SSH‑демона в Termux

pkg update && pkg upgrade
pkg install openssh
sshd

После первого запуска демона появится файл /data/data/com.termux/files/usr/etc/ssh/sshd_config, который будем настраивать.

Генерация и использование SSH‑ключей

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

# Генерация Ed25519‑ключа с повышенной защитой
ssh-keygen -t ed25519 -a 100 -C "my_termux_key"

# По умолчанию ключ сохраняется в ~/.ssh/id_ed25519
# Добавляем публичный ключ в список разрешённых
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys

# Устанавливаем строгие права
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

После этого в sshd_config отключаем аутентификацию по паролю:

PasswordAuthentication no
PubkeyAuthentication yes

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

Для 2FA в Termux удобно использовать пакет libpam-google-authenticator. Он генерирует одноразовые коды, совместимые с Google Authenticator, Authy и другими приложениями.

# Установка пакета
pkg install libpam-google-authenticator

# Инициализация токена (выполняется от имени пользователя)
google-authenticator

При запуске появятся вопросы о количестве резервных кодов, ограничении попыток и т.д. Ответьте «yes», чтобы создать .google_authenticator в домашнем каталоге.

Интеграция 2FA в SSH

Отредактируем два конфигурационных файла.

# /data/data/com.termux/files/usr/etc/ssh/sshd_config
ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication no   # уже отключено выше
# /data/data/com.termux/files/usr/etc/pam.d/sshd
auth required pam_google_authenticator.so nullok

Перезапустим демон:

pkill sshd
sshd

При подключении пользователь сначала вводит пароль/ключ, а затем одноразовый код из приложения‑генератора.

Дополнительные меры hardening

  • Ограничьте диапазон IP‑адресов в sshd_config директивой AllowUsers user@192.168.0.*.
  • Включите LoginGraceTime 30 и MaxAuthTries 3 для ускорения отклонения атак.
  • Регулярно обновляйте пакеты: pkg update && pkg upgrade.
  • Храните резервные коды 2FA в безопасном месте.

Тестирование настройки

Подключаемся из другого устройства:

ssh -p 8022 user@IP_устройства

В случае корректной конфигурации будет запрошен пароль (или ключ) и затем код из Google Authenticator.

Заключение

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

Если вам нужен профессиональный аудит безопасности, настройка CI/CD в Termux или разработка кастомных скриптов под Android, команда RybinskLab готова помочь. Мы предоставляем услуги по интеграции, автоматизации и поддержке мобильных Linux‑окружений.

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

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

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

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