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‑окружений.