Termux – это мощный терминальный эмулятор для Android, который предоставляет полноценную Linux‑окружение. Для продвинутых пользователей важно уметь разворачивать контейнеры и работать с удалёнными серверами. В этой статье мы рассмотрим, как установить Docker в Termux и настроить SSH‑доступ как сервера, так и клиента.
Установка Docker в Termux
Официальный пакет Docker недоступен в репозитории Termux, поэтому используется proot-distro для запуска полноценного дистрибутива Linux (например, Ubuntu) внутри Termux.
- Обновите базовые пакеты Termux.
- Установите
proot-distroи загрузите образ Ubuntu. - Запустите дистрибутив и установите Docker внутри него.
pkg update && pkg upgrade -y
pkg install proot-distro git -y
proot-distro install ubuntu-20.04
proot-distro login ubuntu-20.04 --shared-tmp
После входа в Ubuntu выполните стандартные команды установки Docker:
apt update && apt upgrade -y
apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt install docker-ce docker-ce-cli containerd.io -y
Запустите демон Docker:
dockerd &
Для удобства можно добавить запуск демона в профиль ~/.bashrc внутри Ubuntu.
Работа с контейнерами в Termux
После установки Docker вы получаете полный набор команд docker. Примеры базовых операций:
# Список образов
docker images
# Запуск контейнера Nginx
docker run -d -p 8080:80 --name webserver nginx
# Просмотр работающих контейнеров
docker ps
# Остановка и удаление контейнера
docker stop webserver && docker rm webserver
Все команды выполняются внутри Ubuntu‑окружения, но результат виден в Termux, так как proot-distro использует общий файловый слой.
Настройка SSH‑сервера в Termux
SSH позволяет получать удалённый доступ к вашему Android‑устройству. В Termux установка выполняется через пакет openssh.
- Установите сервер SSH.
- Сгенерируйте ключи.
- Настройте конфигурацию и запустите демон.
pkg install openssh -y
ssh-keygen -t rsa -b 4096 -f $HOME/.ssh/id_rsa -N ""
По умолчанию конфигурационный файл находится в $HOME/.ssh/sshd_config. Рекомендуется изменить следующие параметры:
# Порт (по умолчанию 8022, можно изменить)
Port 2222
# Запрет root‑логина
PermitRootLogin no
# Ограничить аутентификацию паролем (рекомендовано использовать ключи)
PasswordAuthentication no
Запустите SSH‑демон:
sshd
Для автозапуска добавьте команду в файл ~/.bashrc:
if ! pgrep -x sshd > /dev/null; then sshd; fi
Подключение к удалённым серверам через SSH
Termux также может выступать в роли SSH‑клиента. Установите клиент (входит в пакет openssh) и выполните подключение:
ssh -p 22 user@remote-host.com
Если вы используете собственный ключ, укажите его явно:
ssh -i $HOME/.ssh/id_rsa -p 22 user@remote-host.com
Для упрощения работы создайте файл ~/.ssh/config:
Host myserver
HostName remote-host.com
User user
Port 22
IdentityFile ~/.ssh/id_rsa
После этого подключение будет выглядеть так:
ssh myserver
Безопасность и лучшие практики
- Всегда используйте аутентификацию по публичному ключу, отключая пароли.
- Регулярно обновляйте пакеты Termux и Ubuntu‑окружения (
pkg upgrade -yиapt update && apt upgrade -y). - Ограничьте доступ к SSH‑порту через файрволл (например,
ufwвнутри Ubuntu). - Для Docker‑контейнеров используйте ограниченные пользователи и не запускайте контейнеры с привилегиями
--privileged, если это не требуется.
Отладка и типичные проблемы
Если Docker не запускается, проверьте наличие файлов /dev/kmsg и /proc/sys/fs/inotify в окружении proot. Часто помогает добавить параметр --bind /dev при запуске proot-distro login.
При проблемах с SSH‑подключением проверьте, открыт ли выбранный порт в настройках Android (в некоторых сборках требуется разрешить доступ к сети в настройках приложения).
Заключение
Termux предоставляет гибкую платформу для продвинутых задач: запуск Docker‑контейнеров в полном Linux‑окружении и организация безопасного SSH‑доступа к устройству. Освоив эти инструменты, вы сможете превратить Android‑смартфон в полноценный сервер разработки, тестирования или даже небольшую инфраструктуру.
Профессиональные IT‑услуги в Рыбинске оказывает компания RybinskLab. Мы поможем настроить Termux, Docker и SSH под ваши бизнес‑задачи, а также предоставим поддержку и консалтинг в области мобильных и облачных решений.