Подключение Android телефона к Linux
Полный гайд Подключение Android к Linux через SSHFS
Categories:
Оглавление
- Подготовка телефона (Termux)
- Подготовка компьютера Linux
- Настройка SSH-соединения
- Монтирование через SSHFS
- Автоматизация подключения
- Устранение проблем
1. Подготовка телефона (Termux)
1.1 Установка Termux
Скачайте Termux:
- Из F-Droid (рекомендуется)
- Или из Google Play Store
Установите и откройте Termux
Обновите пакеты:
pkg update && pkg upgrade -y
1.2 Установка необходимых пакетов
# Установка SSH-сервера
pkg install openssh -y
# Установка терминальных утилит
pkg install nano vim -y # или любой другой редактор
# Установка для работы с памятью
pkg install termux-api -y # опционально
1.3 Настройка доступа к хранилищу
# Запрос доступа к файлам телефона
termux-setup-storage
# На телефоне появится запрос на разрешение доступа к файлам
# Нажмите "Разрешить"
1.4 Настройка SSH-сервера
# Проверьте текущее имя пользователя
whoami
# Запомните вывод (например, u0_a123)
# Установите пароль для SSH
passwd
# Введите пароль дважды
# Запустите SSH-сервер
sshd
# Проверьте, что сервер работает
ps aux | grep sshd
1.5 Автозапуск SSH (опционально)
# Создайте скрипт автозапуска
vim ~/.bashrc
# Добавьте в конец:
# Запуск SSH-сервера, если не запущен
if ! pgrep -x "sshd" > /dev/null; then
sshd
fi
# Сохраните (Ctrl+O, Enter, Ctrl+X)
1.6 Узнайте IP-адрес телефона
# В Termux выполните:
ifconfig wlan0
# Найдите inet адрес (например, 192.168.1.100)
# Запомните его - это IP вашего телефона в локальной сети
2. Подготовка компьютера Linux
2.1 Установка SSHFS
# Для Ubuntu/Debian:
sudo apt update
sudo apt install sshfs -y
# Для Fedora/RHEL:
sudo dnf install sshfs -y
# Для Arch:
sudo pacman -S sshfs
# Для openSUSE:
sudo zypper install sshfs
2.2 Установка SSH-клиента (обычно уже установлен)
# Проверьте наличие SSH
which ssh
# Если нет, установите:
# Ubuntu/Debian:
sudo apt install openssh-client -y
2.3 Создание папки для монтирования
# Создайте директорию для монтирования
mkdir -p ~/data/android
# Или любую другую:
# mkdir -p ~/android
# mkdir -p ~/phone
3. Настройка SSH-соединения
3.1 Проверка подключения
# Используйте имя пользователя, полученное в Termux (whoami)
# Используйте IP-адрес телефона
ssh -p 8022 u0_a123@IP_АДРЕСА_ТЕЛЕФОНА
# Например:
ssh -p 8022 u0_a123@192.168.1.100
# При первом подключении подтвердите fingerprint (напишите yes)
# Введите пароль, установленный ранее
3.2 Настройка SSH-ключа (для входа без пароля)
# На компьютере создайте SSH-ключ (если нет)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Нажимайте Enter для стандартных настроек
# Скопируйте публичный ключ на телефон
ssh-copy-id -p 8022 u0_a123@IP_АДРЕСА_ТЕЛЕФОНА
# Или вручную:
cat ~/.ssh/id_ed25519.pub | ssh -p 8022 u0_a123@IP_АДРЕСА_ТЕЛЕФОНА "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
3.3 Настройка .ssh/config (опционально)
# Создайте конфигурационный файл
vim ~/.ssh/config
# Добавьте:
Host android
HostName IP_АДРЕСА_ТЕЛЕФОНА
Port 8022
User u0_a123
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
ServerAliveCountMax 3
# Сохраните и закройте
# Теперь можно подключаться просто:
ssh android
4. Монтирование через SSHFS
4.1 Создание скрипта монтирования
# Создайте файл для монтирования
vim ~/mount_android.sh
# Добавьте содержимое:
#!/bin/bash
# Переменные
PHONE_USER="u0_a123" # Замените на ваше имя пользователя
PHONE_IP="192.168.1.100" # Замените на ваш IP
PHONE_PORT="8022"
PHONE_PATH="/storage/emulated/0" # Путь к внутренней памяти
MOUNT_POINT="$HOME/data/android"
# Создайте точку монтирования если её нет
mkdir -p "$MOUNT_POINT"
# Проверка, уже смонтировано или нет
if mount | grep -q "$MOUNT_POINT"; then
echo "Папка уже смонтирована"
exit 0
fi
# Монтирование
sshfs -p $PHONE_PORT \
-o follow_symlinks \
-o idmap=user \
-o uid=$(id -u) \
-o gid=$(id -g) \
-o reconnect \
-o ServerAliveInterval=15 \
-o ServerAliveCountMax=3 \
-o compression=yes \
-o cache=yes \
$PHONE_USER@$PHONE_IP:$PHONE_PATH "$MOUNT_POINT"
if [ $? -eq 0 ]; then
echo "✅ Телефон смонтирован в $MOUNT_POINT"
ls -la "$MOUNT_POINT" | head -5
else
echo "❌ Ошибка монтирования"
exit 1
fi
4.2 Сделайте скрипт исполняемым
chmod +x ~/mount_android.sh
4.3 Выполните монтирование
./mount_android.sh
4.4 Команда для быстрого монтирования
# Если нет желания создавать скрипт
sshfs -p 8022 \
-o follow_symlinks \
-o idmap=user \
-o uid=$(id -u) \
-o gid=$(id -g) \
u0_a123@192.168.1.100:/storage/emulated/0 ~/data/android
4.5 Размонтирование
# Обычное размонтирование
fusermount -u ~/data/android
# Принудительное размонтирование
sudo umount -l ~/data/android
5. Автоматизация подключения
5.1 Создание алиасов в .bashrc
# Откройте .bashrc
vim ~/.bashrc
# Добавьте в конец:
# Монтирование телефона
alias mount-phone='~/mount_android.sh'
alias umount-phone='fusermount -u ~/data/android'
alias phone='cd ~/data/android'
# Сохраните и примените:
source ~/.bashrc
5.2 Автоматическое монтирование при входе (опционально)
# Добавьте в ~/.bashrc или ~/.profile:
if [ -f ~/mount_android.sh ]; then
~/mount_android.sh
fi
5.3 Создание systemd-сервиса (для автоматического монтирования)
# Создайте сервис
sudo vim /etc/systemd/system/mount-phone.service
# Добавьте:
[Unit]
Description=Mount Android phone via SSHFS
After=network.target
[Service]
Type=oneshot
User=ваше_имя_пользователя
ExecStart=/home/ваше_имя_пользователя/mount_android.sh
ExecStop=/usr/bin/fusermount -u /home/ваше_имя_пользователя/data/android
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
# Включите сервис
sudo systemctl enable mount-phone.service
sudo systemctl start mount-phone.service
6. Устранение проблем
6.1 Проблема: “Host key verification failed”
# Решение:
ssh-keygen -R [IP_АДРЕСА_ТЕЛЕФОНА]:8022
# Или удалите старый ключ:
vim ~/.ssh/known_hosts
# Удалите строку с IP телефона
6.2 Проблема: “Connection refused”
# Проверьте на телефоне в Termux:
sshd
# Проверьте порт:
netstat -tlnp | grep 8022
6.3 Проблема: “Permission denied”
# Проверьте пароль:
passwd # установите заново в Termux
# Проверьте права на .ssh:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
6.4 Проблема: Медленная работа
# Добавьте опции для ускорения:
sshfs -p 8022 \
-o compression=yes \
-o cache=yes \
-o Ciphers=arcfour \
u0_a123@IP:/storage/emulated/0 ~/data/android
6.5 Проблема: Телефон засыпает и отключается
# Настройки телефона:
# 1. Отключите оптимизацию батареи для Termux
# 2. Держите Wi-Fi включенным
# 3. Используйте опцию ServerAliveInterval:
sshfs -p 8022 \
-o ServerAliveInterval=15 \
-o ServerAliveCountMax=3 \
u0_a123@IP:/storage/emulated/0 ~/data/android
6.6 Проверка логов
# На телефоне в Termux:
cat ~/.ssh/sshd.log
# На компьютере:
dmesg | grep -i error
journalctl -xe | grep -i sshfs
6.7 Доступ к внешней SD-карте
# Для доступа к внешней SD-карте:
# В Termux сначала найдите путь:
ls -la /storage/
# Обычно это:
sshfs u0_a123@IP:/storage/XXXX-XXXX ~/data/sdcard
# Где XXXX-XXXX - идентификатор вашей SD-карты
Полезные команды
# Проверить, что смонтировано
df -h | grep sshfs
# Показать всё содержимое телефона
ls -la ~/data/android
# Скопировать файл с телефона
cp ~/data/android/DCIM/Camera/photo.jpg ~/Pictures/
# Скопировать файл на телефон
cp ~/Documents/file.pdf ~/data/android/Download/
# Найти файлы на телефоне
find ~/data/android -name "*.mp3"
# Создать ссылку для быстрого доступа
ln -s ~/data/android ~/android
Краткая последовательность действий
- Телефон: Установить Termux →
pkg install openssh→sshd→whoami→passwd→ узнать IP - Компьютер:
sudo apt install sshfs→ создать папкуmkdir -p ~/data/android - Подключение:
ssh -p 8022 u0_a123@IP(проверка) - Монтирование:
sshfs -p 8022 u0_a123@IP:/storage/emulated/0 ~/data/android - Работа:
cd ~/data/androidи пользуйтесь файлами!