Termux — мощный терминал для Android, позволяющий превратить смартфон в полноценную Linux‑систему. Одной из самых востребованных функций является возможность удалённого доступа к устройству через SSH. В этой статье мы подробно рассмотрим, как установить, настроить и безопасно использовать SSH‑сервер в Termux.
Что понадобится
- Устройство под управлением Android (версии 7.0 и выше рекомендуется).
- Приложение Termux из Google Play.
- Подключение к сети Wi‑Fi (для доступа из локальной сети) или мобильный интернет с пробросом портов.
- Клиент SSH на компьютере (OpenSSH, PuTTY, MobaXterm и т.п.).
Установка необходимых пакетов
Откройте Termux и выполните следующие команды:
pkg update && pkg upgrade -y
pkg install openssh openssh-sftp-server -y
Пакет openssh-sftp-server добавляет поддержку SFTP, что удобно для передачи файлов.
Первичная настройка SSH‑сервера
Сгенерируйте ключи для сервера (если они ещё не созданы):
ssh-keygen -A
Эта команда создаёт набор ключей в каталоге /data/data/com.termux/files/usr/etc/ssh/. По‑умолчанию они достаточно надёжны, но при желании можно задать собственные параметры.
Создание пользователя и пароля
Termux работает от имени текущего пользователя Android, однако для SSH‑доступа рекомендуется задать пароль:
passwd
Введите новый пароль дважды. После этого можно будет подключаться к Termux, используя имя пользователя u0_aNN (где NN — номер вашего приложения). Чтобы узнать точное имя, выполните:
whoami
Запуск SSH‑сервера
Для одноразового старта используйте:
sshd
По умолчанию сервер слушает порт 8022. Чтобы проверить статус, выполните:
ps -ef | grep sshd
Подключение к Android‑устройству
С компьютера откройте терминал (Linux/macOS) или клиент PuTTY (Windows) и выполните:
ssh -p 8022 username@android_ip_address
Где username — результат команды whoami, а android_ip_address — IP‑адрес вашего телефона в локальной сети (можно узнать через ip a или в настройках Wi‑Fi).
Настройка публичного ключа (опционально)
Для повышения безопасности рекомендуется использовать аутентификацию по ключу.
- На компьютере сгенерируйте пару ключей, если их ещё нет:
ssh-keygen -t ed25519 -C "termux@android"
- Скопируйте публичный ключ на Android:
ssh-copy-id -p 8022 -i ~/.ssh/id_ed25519.pub username@android_ip_address
Если ssh-copy-id недоступен, можно вручную добавить содержимое id_ed25519.pub в файл /data/data/com.termux/files/usr/etc/ssh/authorized_keys:
mkdir -p ~/.ssh
cat id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
После этого отключите вход по паролю, отредактировав /data/data/com.termux/files/usr/etc/ssh/sshd_config:
sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' $PREFIX/etc/ssh/sshd_config
И перезапустите сервер:
pkill sshd
sshd
Автозапуск SSH‑сервера при старте Termux
Создайте скрипт ~/.termux/boot.sh (если директория boot ещё не существует, создайте её):
mkdir -p ~/.termux
cat > ~/.termux/boot.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/sh
sshd
EOF
chmod +x ~/.termux/boot.sh
Затем включите автоматический запуск скриптов:
termux-setup-storage
termux-reload-settings
Теперь при каждом открытии Termux сервер будет запускаться автоматически.
Повышение безопасности
- Измените стандартный порт 8022 на любой другой (например, 2222): отредактируйте
sshd_configи замените строкуPort 8022на нужный порт. - Ограничьте доступ по IP, используя
AllowUsersилиsshd_configдирективуMatch Address. - Регулярно обновляйте пакеты Termux:
pkg update && pkg upgrade -y. - Отключайте root‑доступ (Termux не имеет root, но если устройство рутовано, убедитесь, что SSH‑сервер работает от обычного пользователя).
Устранение распространённых проблем
| Проблема | Причина | Решение |
|---|---|---|
| «Connection refused» | SSH‑демон не запущен или порт закрыт. | Проверьте статус sshd, убедитесь, что порт открыт в настройках Wi‑Fi (часто роутер блокирует нестандартные порты). |
| «Permission denied (publickey)» | Неправильно сконфигурированы ключи. | Проверьте права на ~/.ssh и authorized_keys. Должно быть 700 и 600 соответственно. |
| «sshd: no hostkeys available» | Отсутствуют сгенерированные ключи. | Выполните ssh-keygen -A ещё раз. |
Заключение
Настройка SSH‑сервера в Termux открывает широкие возможности удалённого управления Android‑устройством: от простого доступа к терминалу до полноценного обмена файлами через SFTP. Следуя изложенным шагам, вы получаете надёжный и безопасный канал связи, который легко интегрировать в рабочие процессы.
Если вам требуется более сложная автоматизация, настройка VPN‑туннелей или помощь в интеграции Termux с серверными решениями, команда RybinskLab готова предложить профессиональные услуги: разработка скриптов, аудит безопасности, настройка CI/CD и многое другое. Свяжитесь с нами, и мы поможем вывести ваш Android‑устройств в новый уровень эффективности.