Задача
У вас есть домашний сервер (например, Orange Pi с Ubuntu Server), но:
- он находится за NAT (нет белого IP);
- вы хотите подключаться к нему удалённо из любой точки мира (ПК, ноутбук, смартфон);
- есть внешний VPS с белым IP.
Решение: обратный SSH-туннель (reverse SSH tunnel) через VPS.
📦 Что потребуется
- ✅ VPS с публичным IP
- ✅ Домашний сервер (Orange Pi) под Ubuntu Server
- ✅ Доступ к SSH на обоих устройствах
- ✅ Открытый порт на VPS (например, 2222)
⚙️ Схема
[Вы с телефона/ноутбука]
|
SSH
↓
[Внешний VPS] ←⎯⎯ Обратный туннель ⎯⎯ [Orange Pi]
(например: localhost:2222)
🛠️ Настройка шаг за шагом
1. На VPS: создайте пользователя (если нужно)
sudo adduser orangepi
Вы можете использовать и root, но лучше отдельного пользователя.
2. На Orange Pi: создаём обратный SSH-туннель
На вашем домашнем сервере (Orange Pi), выполните:
ssh -N -R 2222:localhost:22 orangepi@vps_ip_address
📌 Что означает:
- -N — не выполнять команд на удалённом VPS
- -R 2222:localhost:22 — пробросить порт 2222 на VPS к локальному порту 22 на Orange Pi
- orangepi@vps_ip_address — учётка на VPS, куда подключаемся
После подключения — на VPS порт 2222 будет вести к SSH вашего Orange Pi.
3. Разрешите на VPS удалённый доступ к forwarded портам
Откройте /etc/ssh/sshd_config на VPS и убедитесь, что есть строки:
GatewayPorts yes
AllowTcpForwarding yes
Если их нет — добавьте, затем:
sudo systemctl restart sshd
4. Проверка подключения
Теперь с любой машины или телефона, подключаемся к VPS:
ssh orangepi@vps_ip_address -p 2222
Вы окажетесь на Orange Pi, хоть он за NAT и без белого IP!
🔁 Автоматизация подключения с автопереподключением
Установите на Orange Pi autossh
:
sudo apt install autossh
Добавьте в crontab:
crontab -e
И вставьте:
@reboot autossh -M 0 -f -N -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -R 2222:localhost:22 orangepi@vps_ip_address
Теперь туннель будет восстанавливаться даже после перезагрузки или обрыва.
🔐 Рекомендуется: подключение по SSH-ключу
На Orange Pi:
ssh-keygen
ssh-copy-id orangepi@vps_ip_address
Теперь можно подключаться без пароля —идеально для autossh.
📲 Подключение с телефона (Termius, JuiceSSH)
- Вводите IP VPS
- Порт:
2222
- Пользователь: тот, что на Orange Pi
- Готово — вы подключаетесь через VPS на локальный сервер
📌 Заключение
Теперь вы можете управлять своим домашним сервером из любой точки мира — без проброса портов, без DynDNS — только с помощью VPS и reverse SSH-туннеля.