SSH-ки наголо! Цифровой океан ждёт нас!
SSH-ки наголо! Цифровой океан ждёт нас!

Недавно я написал две статьи про решение проблем с доступом с Claude Code, Antigravity и другими сервисами из России (часть 1, часть 2), но практика показала, что доступ мне к ним нужен не только с домашнего компьютера, но и с телефона, когда я нахожусь на улице. А с этим сложнее. У мобильных операторов какие-то свои, особые правила маршрутизации интернета.

В прошлый раз мы решали проблемы с использованием VPS с заграничным IP, но на улице они не работают, поэтому там, где не помогает 1 VPS, проблему решат 2 VPS.

Я расскажу о треугольнике SSH, который можно настроить буквально одной командой. Он позволит вам иметь доступ с улицы к зарубежным сервисам, вашему домашнему компьютеру, а также из-за границы — к российским сервисам.

У этого подхода есть масса других применений (например, доступ Telegram-ботов к вашему API), которые читатель, понявший идею, с лёгкостью воплотит.

Полный треугольник проще всего реализовать на Linux-десктопе, но если вам не нужен доступ к домашнему компьютеру, то можно только настроить VPS.

Суть решения

Используя 2 VPS, из которых 1 российский, а второй на заграничном IP, мы через российский VPS получаем доступ к нужным нам сервисам. Трафик при этом идёт вначале на российский VPS, а потом на западный. Находясь за границей, через заграничный VPS мы получаем доступ к российскому, через который уже открываем Госуслуги и всё остальное.

Системный сервис SSH, который есть на абсолютно любом VPS на Linux, позволяет одной командой сделать прямой и реверсный проброс портов. То есть на российском VPS мы получаем порт, дающий прямой доступ к западному VPS, а на западном — порт дающий доступ к российскому VPS.

А если у вас есть доступ к порту VPS, то у вас есть и доступ ко всему, что доступно из той страны.

До кучи, абсолютно также мы получаем порт на российском VPS, дающий доступ к домашнему компу. И это даст полный треугольник SSH — домашний комп, российский VPS и заграничный VPS.

Итак, я приведу эту магическую команду. На российском VPS нужно поставить в скрипт, который запускается при старте сервера, следующее:

AUTOSSH_LOGFILE=/var/log/autossh.log autossh -M 0 -D 1080 -C -N -f \
  -o "Ciphers=aes128-ctr" \
  -o "ServerAliveInterval=15" \
  -o "ServerAliveCountMax=2" \
  -R 777:127.0.0.1:7777 \
  -L 0.0.0.0:333:127.0.0.1:3333 \
  root@ip_заграничного_vps -p 3333

autossh — это команда-надстройка над SSH для стабильности соединения. Она перезапускает соединение в случае каких-либо проблем. Её нужно предварительно установить с помощью вашего пакетного менеджера.

Легенда:

  • 333 — порт на российском VPS, через который вы имеете доступ к заграничному VPS

  • 3333 — порт SSH заграничного VPS

  • 7777 — порт, на котором работает SSH российского VPS

  • 777 — порт российского VPS, который открыт на заграничном VPS

  • -D 1080 — порт, на котором внутри российского VPS откроется доступ к socks5-прокси. Например, для работы со старой версией Claude Code (которая на Node.JS)

Этой чудо-командой можно пробросить в обе стороны хоть 100 портов и сделать связным то, что по воле корпораций разорвано.

Восстановление работы Telegram-ботов

Если у вас есть какой-то Telegram-бот, к API которого не может достучаться Telegram, то добавляем ещё строку:

  -R 8443:127.0.0.1:443 \

В настройках бота в качестве УРЛ, к которому обращается Telegram, указываем tg.mydomain.ru:8443.

Чтобы всё работало, нужно поставить утилиту autossh, все новые порты открыть и прописать в конфиги ssh на каждом VPS.

Также нужно сгенерировать ключ для доступа к заграничному VPS (подробнее тут или спрашиваем ИИ) и загрузить открытую часть этого ключа в российский VPS.

В настройках обоих VPS разрешаем проброс портов. В папке /etc/ssh/sshd_config.d создаём файл gateway.conf.

GatewayPorts yes

После изменения конфигурации перезапускаем службу:

# или sshd в зависимости от дистрибутива
systemctl restart ssh

Регистрируем домен

Работать с IP-адресами неудобно, поэтому можно зарегистрировать любой домен. В этом случае при смене VPS достаточно будет только изменить соответствие доменного имени IP-адресу. Пример доменных имён третьего уровня:

home.mydomain.ru
russia.mydomain.ru
zagran.mydomain.ru

Добавляем домашний комп в треугольник SSH

На gentoo-based дистрибутивах в папку автозапуска /etc/local.d кладём файл ssh_tunnel.start. На других дистрибутивах используем аналогичные механизмы.

AUTOSSH_LOGFILE=/var/log/autossh.log autossh -M 0 -f \
-o ServerAliveInterval=20 -o Compression=no \
-R russia.mydomain.ru:9999:localhost:22 \
-N root@russia.mydomain.ru -p 7777

Делаем скрипт исполняемым:

chmod +x /etc/local.d/ssh_tunnel.start

Наш домашний компьютер теперь доступен извне на российском VPS через порт 9999. Крайне желательно, чтобы доступ был через SSH-сертификат или крайне сложный пароль.

Теперь мы можем контролировать работу Claude Code и других агентов на своём компе во время прогулки по городу. Claude Code запускаем в tmux. А подсоединяемся к сессии после логина через SSH с помощью tmux attach.

Я использую Android-утилиту JuiceSSH, другие люди рекомендуют Termius.

Даём доступ себе и друзьям (Android и iPhone)

Мне понравилась opensource-утилита NekoBox. Для современных Android-телефонов выбираем версию, которая кончается на arm64-v8a.apk.

Внешний вид Nekobox
Внешний вид Nekobox

Там указываем ip российского VPS с портом, на который мы пробросили ssh заграничного VPS.

Я туда добавил два VPS: заграничный и российский. Когда на Wi-Fi, то работает заграничный. А когда на улице, работает тоже он, но через российский IP. Пинг получается примерно 167 ms. Небыстро, но работать можно.

На iPhone аналогичная программа называется Npv Tunnel.

В этих утилитах выбираем тип доступа SSH.

Чтобы не давать root-доступ друзьям, можно делать пользователей, которые начинаются с tun_, а в папке /etc/ssh/sshd_config.d создаём файл tunnel_user.conf:

Match User tun_*
    PasswordAuthentication yes
    PubkeyAuthentication yes
    PermitTTY no
    AllowTcpForwarding yes
    GatewayPorts no
    X11Forwarding no
    ForceCommand /bin/false

Они не смогут логиниться на сервер, а только использовать его как точку выхода. Генерируйте друзьям сложные пароли из 16+ символов, иначе ботнеты подберут доступ.

Пользователей можно добавлять так:

adduser tun_friend

Заключение

Пока открыт хоть один порт, мы — благородные корсары цифровых океанов, вооружившись SSH-туннелями, будем смело рассекать информационные волны на фрегатах наших VPS!

P.S. В RUVDS сейчас акция — при оплате на 1 год есть скидка 30%. Выбрать VPS на разных площадках в разных странах можно на сайте.

© 2026 ООО «МТ ФИНАНС»

Комментарии (22)


  1. Santop
    19.06.2026 13:18

    Какое короткое и ёмкое руководство!


  1. nogipx
    19.06.2026 13:18

    Я тоже пришел к такому решению и навайбкодил приложение для туннелирования трафика через ssh с возможностью создавать марштуры из нескольких серверов. Вот ссылка - буду рад коммитам)
    https://www.tinytooltown.com/tools/vzhukh/


  1. vk15work
    19.06.2026 13:18

    доступ мне к ним нужен не только с домашнего компьютера, но и с телефона, когда я нахожусь на улице. А с этим сложнее.

    С телефона это и правда сложнее, потому что в крупных российских городах мобильные операторы часто включают режим только белых списков и достучаться до VPS не выйдет.


    1. inetstar Автор
      19.06.2026 13:18

      До заграничного VPS абсолютно точно не выйдет


      1. pr0bid
        19.06.2026 13:18

        До российского - тоже, если его IP за пределами пула, входящего в эти самые белые списки.


    1. MountainGoat
      19.06.2026 13:18

      А ещё когда батарейка разряжена, SSH не работает.


    1. kreatiffchik
      19.06.2026 13:18

      Так ни через какой транспорт достучаться не выйдет при белых списках, кэп..


  1. za-ek2
    19.06.2026 13:18

    а я сделал vpn-сеть, одна за границей, другая в РФ, между ними построил мост через udp2raw, очень устойчивая штука была до буквально неделю назад, похоже придётся переключиться на туннель, переживаю только, не будет ли при большом количестве трафика блокировка ip, вроде как они анализируют куда откуда и пока у тебя трафик маленький - ты незаметен, а когда становится большой - уже появляются вопросы, или так это не работает? Чтобы трафик весь через vpn не шёл я подключал socks5 proxy через termius и отдельный браузер который работает через него


    1. vShadow
      19.06.2026 13:18

      У меня на одном провайдере бэкапы/образы по несколько гигабайт без проблем по sshfs бегают в обе стороны, а на втором любые сессии через 5 минут рвутся, независимо от трафика - видимо, зависит от региона/провайдера.


      1. za-ek2
        19.06.2026 13:18

        провайдер однозначно играет роль, когда я с мобильного домашнего интернета (правда у меня тут одна вышка и кроме меня ей пользуются как будто только беспилотники), то есть перебои, прикольная история, что перезагружаешь модем и первые минут 5-10 есть время на установление соединения, если прошло больше, то соединения не устанавливаются, но установленные соединения поддерживаются достаточно долго, могут и пару недель


    1. Barnaby
      19.06.2026 13:18

      Скорее считают новые соединения чем трафик, так что можно все через один коннект гнать. Ну и можно попробовать UDP - awg 2.0 еще хорошо работает.