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

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

Termux для продвинутых пользователей: Docker, SSH

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 под ваши бизнес‑задачи, а также предоставим поддержку и консалтинг в области мобильных и облачных решений.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом RybinskLab.

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

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

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

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