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

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

Внедрение многофакторной аутентификации в SSH‑сессии на Android с использованием Termux и YubiKey

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

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом РыбинскЛАБ.

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

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

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

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