Termux – это мощный эмулятор терминала для Android, который предоставляет полноценную Linux‑окружение. Одна из самых востребованных возможностей Termux – работа с SSH, позволяющая управлять удалёнными серверами прямо со смартфона.
Базовый терминал в Termux
После установки Termux вы получаете доступ к командной строке, где доступны пакеты из репозиториев apt. Для начала работы рекомендуется обновить индексы и установить базовые утилиты:
pkg update && pkg upgrade -y
pkg install git curl wget vim
Эти команды обеспечат наличие самых популярных инструментов, необходимых для дальнейшей работы с SSH.
Установка и настройка OpenSSH‑клиента
OpenSSH – стандартный набор утилит для работы по протоколу SSH. В Termux установка происходит одной командой:
pkg install openssh
После установки появятся такие команды, как ssh, scp, sftp и ssh-keygen.
Генерация SSH‑ключей
Для безопасного доступа к серверу рекомендуется использовать парные ключи вместо пароля. Генерировать их можно командой ssh-keygen:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
В процессе будет предложено указать путь для сохранения ключа (по умолчанию ~/.ssh/id_rsa) и задать парольную фразу. После генерации появятся два файла:
~/.ssh/id_rsa– закрытый ключ (хранится только у вас).~/.ssh/id_rsa.pub– открытый ключ, который необходимо добавить на сервер.
Добавление публичного ключа на удалённый сервер
Самый простой способ – воспользоваться утилитой ssh-copy-id. В Termux её нет по умолчанию, но её можно имитировать через ssh:
ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub
После выполнения этой команды ваш публичный ключ будет записан в файл authorized_keys на сервере, и вы сможете входить без пароля.
Подключение к удалённому серверу
Для установления соединения используйте обычную команду ssh:
ssh user@remote_host
Если ваш сервер слушает нестандартный порт, укажите его параметром -p:
ssh -p 2222 user@remote_host
Для однократного выполнения команды на сервере можно добавить её после имени хоста:
ssh user@remote_host "df -h"
Конфигурация SSH‑клиента
Для упрощения работы удобно создать файл ~/.ssh/config, где будут храниться часто используемые параметры:
Host myserver
HostName remote_host
User user
Port 2222
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
После этого подключение будет выглядеть так:
ssh myserver
Перенаправление портов (SSH Tunneling)
SSH позволяет проксировать локальные и удалённые порты, что удобно для доступа к сервисам, закрытым за файрволом.
- Локальное перенаправление – доступ к удалённому сервису через локальный порт:
ssh -L 8080:127.0.0.1:80 user@remote_host
После этого браузер, открытый по адресу http://127.0.0.1:8080, будет показывать содержимое веб‑сервера, запущенного на удалённой машине.
- Удалённое перенаправление – открываем порт на сервере, доступный из сети:
ssh -R 9090:127.0.0.1:22 user@remote_host
Теперь к вашему Android‑устройству можно подключиться по SSH через порт 9090 на сервере.
Передача файлов
Для копирования файлов используется scp и sftp. Пример копирования каталога project на сервер:
scp -r project/ user@remote_host:/home/user/
Для интерактивной работы с удалёнными файлами удобно запустить sftp:
sftp user@remote_host
Автоматизация задач в Termux
Termux поддерживает планировщик cron через пакет cronie. Установите и запустите его:
pkg install cronie
sv enable crond
sv start crond
Создайте файл crontab для вашего пользователя, например, чтобы выполнять резервное копирование каждый день в 02:00:
0 2 ssh user@remote_host "tar -czf /backup/$(date +%F).tar.gz /var/www"
Сохраните его командой crontab -e. Теперь Termux будет выполнять указанные операции без вашего участия.
Безопасность при работе с SSH в Termux
- Всегда используйте парные ключи вместо паролей.
- Защищайте закрытый ключ паролем‑фразой.
- Ограничьте доступ к файлам
~/.sshкомандойchmod 700 ~/.ssh && chmod 600 ~/.ssh/. - Регулярно проверяйте известные уязвимости OpenSSH и обновляйте пакет
opensshчерезpkg upgrade. - При работе в публичных Wi‑Fi используйте VPN или добавьте опцию
-o StrictHostKeyChecking=noтолько в тестовых сценариях.
Траблшутинг типовых проблем
- “Connection timed out” – проверьте, открыт ли SSH‑порт на сервере и нет ли блокировки со стороны провайдера.
- “Permission denied (publickey)” – убедитесь, что публичный ключ правильно добавлен в
~/.ssh/authorized_keysи права доступа к файлам корректны. - “Host key verification failed” – удалите устаревшую запись из
~/.ssh/known_hostsи подключитесь заново.
Заключение
Termux превращает ваш Android‑устройство в полноценный SSH‑клиент, позволяя управлять серверами, автоматизировать задачи и безопасно передавать данные. Освоив базовые команды, генерацию ключей, конфигурацию и туннелирование, вы получаете гибкий инструмент для администрирования в любой точке мира.
Профессиональные IT‑услуги в Рыбинске оказывает компания RybinskLab. Мы поможем настроить инфраструктуру, обеспечить безопасность и автоматизировать процессы под ваши бизнес‑задачи.