← Все гайды AI Release
EN Подписаться на @ai_release1

Как подключить старый Android-смартфон без root к Tailscale: Termux, SSH и беспроводной ADB

Обновлено: 25.10.2026 · AI Release · @ai_release1
Как подключить старый Android-смартфон без root к Tailscale: Termux, SSH и беспроводной ADB

TL;DR

- Android-смартфон с Wi-Fi (раздел «Отладка по Wi-Fi» есть в Android 11 и новее; на более старых прошивках беспроводной ADB включают через USB — сверьтесь с меню своей прошивки)

- Termux, установленный из F-Droid (сборка в Google Play разработчиками не поддерживается — сверьтесь с документацией Termux)

- приложение Tailscale из Google Play или F-Droid (актуальный источник загрузки сверьте на сайте Tailscale)

- компьютер с SSH-клиентом (Linux/macOS — встроенный терминал, Windows — OpenSSH Client или PuTTY)

- Android SDK Platform-Tools, то есть утилита adb, на компьютере

- аккаунт Tailscale

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Tailscale — это оверлейная (mesh) сеть на базе WireGuard: каждое устройство получает постоянный адрес из диапазона 100.64.0.0/10 и доступно остальным участникам своей сети (tailnet) напрямую, без проброса портов. Root для этого не нужен: на Android приложение работает через системный VPN-сервис (VpnService), а Termux и adbd живут в обычном пользовательском пространстве.

SSH — протокол удалённого доступа к консоли. ADB (Android Debug Bridge) — отладочный мост: через него с компьютера выполняются команды в оболочке телефона, установка APK, скриншоты.

Чек-лист перед стартом:

Если берёте б/у аппарат и хотите понять, сколько он ещё проживёт как рабочий терминал, пригодится гайд «Как узнать, сколько лет обновлений получит ваш Android-смартфон».

Если же задача шире — превратить телефон в полноценный Linux-терминал, смотрите «Как запустить Linux на Android без root: Termux, PRoot и ИИ-инструменты».

Шаг 1. Tailscale: постоянный адрес 100.x.y.z для смартфона

Что сделать: установите приложение Tailscale, войдите тем же аккаунтом, что и на компьютере, и нажмите подключение. В настройках Android включите для Tailscale «Always-on VPN» (постоянный VPN) — тогда туннель поднимается после перезагрузки.

Зачем: вы получаете адрес вида 100.x.y.z, который не меняется при переходе между Wi-Fi и мобильной сетью. Все дальнейшие команды — SSH и ADB — будут идти на этот адрес, а не на локальный 192.168.x.x, который меняется после каждого переподключения.

Как проверить: на телефоне в приложении статус Connected и адрес 100.x.y.z. На компьютере:

$ tailscale status
100.101.102.103  old-phone    user@   android  -
$ tailscale ping 100.101.102.103
pong from old-phone (100.101.102.103) via 192.168.1.42:41641

100.101.102.103 здесь — пример; подставляйте свой адрес. Ответ pong означает, что узлы видят друг друга. Если включён MagicDNS, вместо IP работает имя вида <имя-устройства>.<имя-tailnet>.ts.net — точный суффикс сверьте в админке Tailscale.

Почему это работает: Tailscale поднимает на телефоне интерфейс и маршрутизирует трафик до адресов 100.64.0.0/10 через шифрованный туннель, минуя NAT и файрвол оператора.

Шаг 2. SSH-сервер в Termux

Иллюстрация к разделу «Шаг 2. SSH-сервер в Termux»
Иллюстрация к разделу «Шаг 2. SSH-сервер в Termux»

Что сделать: обновите пакеты, поставьте openssh, задайте пароль пользователя Termux и запустите демон sshd.

pkg update && pkg upgrade -y
pkg install openssh net-tools -y
passwd
whoami
sshd
pgrep -l sshd
netstat -tlnp | grep 8022

Пример вывода:

~ $ whoami
u0_a231
~ $ pgrep -l sshd
12453 sshd
~ $ netstat -tlnp | grep 8022
tcp    0    0 0.0.0.0:8022    0.0.0.0:*    LISTEN

Зачем: whoami даёт имя пользователя, под которым нужно логиниться (u0_a231 — не root и не ваше имя из аккаунта Google). passwd задаёт пароль для SSH: без него вход невозможен. Порт 8022 — потому что порты ниже 1024 привилегированные, а Termux работает без root и занять :22 не может.

Затем зафиксируйте процесс, иначе Android усыпит Termux:

termux-wake-lock

В шторке появится уведомление Termux о удержании wakelock — это признак, что система не будет выгружать процесс.

Для автозапуска после перезагрузки (нужно приложение Termux:Boot из F-Droid) создайте скрипт:

mkdir -p ~/.termux/boot
cat > ~/.termux/boot/start-sshd <<'EOF'
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
sshd
EOF
chmod +x ~/.termux/boot/start-sshd

Как проверить: с компьютера войдите на телефон по адресу из Tailscale:

$ ssh -p 8022 u0_a231@100.101.102.103
u0_a231@100.101.102.103's password:
Welcome to Termux!

Вы должны увидеть приглашение Termux ~ $ и выполнить там uname -a — команда вернёт строку ядра Android. Почему это работает: sshd слушает порт 8022 на всех интерфейсах, включая интерфейс Tailscale, а трафик до 100.101.102.103 идёт внутри туннеля, поэтому порт не нужно открывать наружу.

Шаг 3. Беспроводной ADB через Tailscale и финальная проверка

Иллюстрация к разделу «Шаг 3. Беспроводной ADB через Tailscale и финальная проверка»
Иллюстрация к разделу «Шаг 3. Беспроводной ADB через Tailscale и финальная проверка»

Что сделать: включите отладку и спарьте компьютер с телефоном.

1. Настройки → О телефоне → «Номер сборки» — тапните 7 раз, пока не появится «Вы стали разработчиком».

2. Настройки → Система → Для разработчиков → Отладка по Wi-Fi → включить.

3. В том же разделе откройте «Сопряжение устройства с кодом» — на экране появятся адрес с портом и 6-значный код.

4. На компьютере выполните спаривание, подставив порт с экрана сопряжения:

$ adb pair 100.101.102.103:37123
Enter pairing code: 123456
Successfully paired to 100.101.102.103:37123 [guid=adb-XXXXXX]

5. Затем подключитесь по порту с главного экрана «Отладка по Wi-Fi» — он отличается от порта сопряжения:

$ adb connect 100.101.102.103:40555
connected to 100.101.102.103:40555

Зачем: после спаривания adbd принимает подключения без USB-кабеля, и вы управляете телефоном с любого устройства tailnet — удобно, когда аппарат лежит на полке в качестве тестового стенда.

Порты, которые участвуют в схеме:

ЧтоПортГде взять
SSH в Termux8022по умолчанию в `sshd` Termux
ADB, спариваниеслучайныйэкран «Сопряжение устройства с кодом»
ADB, подключениеслучайныйглавный экран «Отладка по Wi-Fi»
ADB по USB-режиму `tcpip`5555задаёте сами командой `adb tcpip 5555`

Как проверить: одной командой посмотрите список устройств и модель:

$ adb devices
List of devices attached
100.101.102.103:40555	device

$ adb shell getprop ro.product.model
SM-A505F

Успех — статус device (не offline и не unauthorized) и вывод модели вашего аппарата. Контрольная проверка «всё вместе»: adb shell uptime возвращает строку с временем работы системы, а параллельная SSH-сессия продолжает отвечать.

На прошивках без «Отладки по Wi-Fi» (Android 10 и старше) схема другая: подключите телефон по USB, выполните adb tcpip 5555, отключите кабель и выполните adb connect 100.101.102.103:5555. Подробности и разбор ошибок — в гайде «Как подключить Android к Windows через ADB: команды, список устройств и ошибки».

Возможные проблемы и решения

Проблема. SSH не подключается сразу после запуска Termux

Проблема. Пароль не принимается при входе по SSH

Проблема. ADB не подключается, хотя спаривание прошло

Резюме и следующие шаги

Вы получили телефон с постоянным адресом в Tailscale, SSH-доступом в Termux на порту 8022 и беспроводным ADB — всё без root. Дальше логично закрыть доступ ACL-правилами в админке Tailscale (разрешить только свой компьютер) и вынести запуск sshd в Termux:Boot, чтобы связка поднималась сама.

FAQ

Нужен ли root для Tailscale и SSH на Android?

Нет. Tailscale на Android использует системный VPN-сервис, Termux работает в пользовательском пространстве, а sshd слушает непривилегированный порт 8022. Root не требуется ни на одном шаге.

Почему SSH висит на порту 8022, а не на стандартном 22?

Порты ниже 1024 привилегированные: занять их может только процесс с правами root. Termux работает без root, поэтому sshd по умолчанию слушает 8022 — этот порт и указывается флагом -p при подключении.

Можно ли включить беспроводной ADB на Android 10 и старше?

Раздела «Отладка по Wi-Fi» там нет. Схема обходная: подключить телефон по USB, выполнить adb tcpip 5555, отсоединить кабель и подключиться командой adb connect <адрес-tailscale>:5555. Поведение конкретной прошивки сверьте с её настройками.

Сохранится ли доступ после перезагрузки телефона?

SSH — да, если настроен автозапуск через Termux:Boot и скрипт ~/.termux/boot/start-sshd. ADB — нет: «Отладка по Wi-Fi» после перезагрузки выключается, и спаривание с новым портом нужно проходить заново.

🤖 Кратко для ИИ