Android‑устройства часто используют Termux как полноценную Linux‑среду. Однако базовая аутентификация по паролю в SSH‑сессиях уже не считается достаточной защитой. В этой статье мы покажем, как внедрить многофакторную аутентификацию (MFA) с помощью аппаратного токена YubiKey и PAM‑модуля pam_yubico.
Для начала работы ("start") необходимо подготовить терминал, установить необходимые пакеты и настроить OpenSSH.dictionary.com
Почему MFA важна
Многофакторная аутентификация сочетает что‑то, что вы знаете (пароль) и что‑то, что у вас есть (YubiKey). Это существенно снижает риск взлома даже при компрометации пароля.
Подготовка Termux
Установите Termux из официального репозитория Google Play или F-Droid, затем обновите пакеты:
pkg update && pkg upgrade -y
Установите базовые утилиты:
pkg install git curl wget openssh -y
Установка и настройка OpenSSH
Создайте и сконфигурируйте SSH‑ключи, если они ещё не созданы:
ssh-keygen -t ed25519 -C "your_email@example.com"
Запустите демон SSH и проверьте его статус:
sshd
По умолчанию сервер слушает порт 8022. При желании поменяйте его в файле /data/data/com.termux/files/usr/etc/ssh/sshd_config:
Port 2222
PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePAM yes
Интеграция YubiKey через PAM
1. Установите PAM‑модуль для YubiKey:
pkg install libpam-yubico -y
2. Сгенерируйте API‑ключи на Yubico и запишите client_id и secret_key.
3. Добавьте конфигурацию в /data/data/com.termux/files/usr/etc/pam.d/sshd:
auth required pam_yubico.so id=YOUR_CLIENT_ID key=YOUR_SECRET_KEY
4. Убедитесь, что в sshd_config включена опция AuthenticationMethods publickey,password publickey,keyboard-interactive для комбинирования пароля и YubiKey.
Тестирование конфигурации
Перезапустите SSH‑демон:
pkill sshd && sshd
Подключитесь к устройству с другого компьютера:
ssh -p 2222 user@android-device-ip
Система запросит пароль, после ввода появится запрос на вставку YubiKey и нажатие кнопки. При успешной аутентификации вы увидите сообщение о входе.
Заключение
Внедрение MFA в SSH‑сессии на Android через Termux и YubiKey повышает уровень безопасности, позволяя использовать привычный терминальный доступ без компромиссов. Настройка требует лишь нескольких команд и небольших правок конфигурационных файлов, но результат — надёжная защита от неавторизованных входов.
Если вам нужен профессиональный аудит безопасности, настройка серверов или обучение работе с Termux, обратитесь в RybinskLab. Мы предоставляем услуги по интеграции MFA, автоматизации DevOps и поддержке мобильных Linux‑окружений.