
Вступление:
Доступ к интернету в наши дни напоминает игру в «Сапёра»: никогда не знаешь, где рванёт и какой репозиторий отвалится завтра. Утром ты сеньор-помидор, а к обеду не можешь стянуть дистрибутив, потому что чей-то IP попал под горячую руку регулятора.
Если вы давно живёте в терминале, скорее всего всё это знаете - этот текст для тех, кто ещё не использовал SSH как SOCKS5-прокси.
Конечно, можно развернуть VLESS с XTLS-Reality, обернуть это в CDN и присыпать сверху магией, но иногда нужно решение в стиле «тяп-ляп и в продакшен».
Встречайте: SOCKS5 поверх SSH. Дешево, сердито и работает (если ваш провайдер еще не научился вскрывать SSH-пакеты зубами).
Имея VPS за пару долларов, вы можете вернуть себе доступ к документации (и, чего уж греха таить, к котикам в Instagram) буквально одной командой.
Дисклеймер: учитывайте законодательство вашей страны и условия договора с провайдером при использовании любых прокси и туннелей.
Как это работает?

SSH — это не только чёрная консоль для красноглазых админов. Он умеет делать динамический прокси (-D).
Никаких Squid, 3proxy или сложных конфигов, от которых хочется выйти в окно. Только стандартный sshd.
Для пользователей Windows 10/11, Linux и macOS:
Забудьте про сторонний софт. В вашей консоли уже, скорее всего, есть всё необходимое.
ssh -D 1081 -N -C user@1.1.1.1
Где:
-D 1081: поднимает локальный SOCKS5 на порту 1081.-N: говорит SSH «не открывай мне шелл, я тут только ради туннеля».-C: включает сжатие (полезно, если вы читаете текст, бесполезно, если смотрите 4K-видео).
Для любителей классики и Windows 7 (через plink.exe), можно все вписать proxystart.bat:
plink.exe -ssh user1@1.1.1.1 -pw MySuperSecretPass -D 1081 -N -batch
⚠️ Дисклеймер: Передавать пароль в аргументах командной строки (
-pw) — это моветон. Ваш системный администратор увидит это в логах и будет грустно вздыхать. А если это увидит «товарищ майор» в дампе процессов... В общем, используйте ключи, но об этом ниже.
Настраиваем в браузере прокси 127.0.0.1:1081 и наслаждаемся. А здесь должна быть отбивка, зачем нам portable Firefox - а затем, что можно прописать прокси сервер независимо от системы, и каждую сессию стартовать с новой историей и куки, если озаботиться развертыванием из архива перед новой сессией или когда захотим начать с чистого листа.
Автоподключение при старте системы (чтобы не тыкать команду каждый раз)
Если туннель нужен постоянно, надоело руками запускать ssh -D после каждого перезапуска.
Варианты по платформам:
-
Windows
Сгенерировать ключ и сохранить его в
Pageant(PuTTY-агент).Создать задачу в Планировщике заданий: запуск
plink.exeс параметрами-D -N, триггер — при входе пользователя или при старте системы.
-
macOS
Описать
ssh -DвLaunchAgent(plist-файл в~/Library/LaunchAgents/) и включить автозапуск черезlaunchctl.
-
Linux
Создать
systemd --userсервис, который поднимает туннель для конкретного пользователя при входе в сессию.
А если хочется сделать «и чтобы переподнимался сам, если отвалится», можно использовать autossh:
autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -D 1081 -N user@1.1.1.1
autossh будет следить за соединением и перезапускать туннель, если оно оборвётся.
"Брат, дай интернет"
Иногда коллега с грустными глазами просит доступ, чтобы посмотреть мануал для Солидворкса на Ютубе.
Давать ему свой root-пароль — плохая примета (к потере сервера). Создадим для него отдельную «комнату».
# Создаем пользователя без доступа к консоли (только туннель — высший пилотаж паранойи)
sudo useradd -m -s /usr/sbin/nologin friend_user
sudo passwd friend_user
Теперь вы и ваш коллега ходите через один сервер, но если он решит скачать весь торрент-трекер и положить вам канал, вы будете знать, кого бить.
Почему отдельные юзеры — это хорошо?
Изоляция.
Надоел коллега?sudo userdel friend_user. Быстро, жёстко, эффективно.Логи.
В/var/log/auth.logвидно, кто и когда заходил (на Debian/Ubuntu). Если увидите вход в 3 часа ночи с IP-адреса в Антарктиде — время менять пароли.
Безопасность: не будьте наивными
SSH-порт, торчащий в интернет на 22-м порту, привлекает ботов сильнее, чем бесплатное пиво — студентов.
1. Fail2Ban — мастхэв!!!
Это вышибала для вашего клуба. Три раза ошибся паролем — иди гуляй на 10 минут.
sudo apt install fail2ban -y
# Он работает из коробки, но лучше проверить конфиг, чтобы не забанить самого себя.
2. Ключи — наше всё
Пароли воруют, подбирают, записывают на стикерах. SSH-ключи — это как биометрия, только для серверов.
На клиенте:
ssh-keygen -t ed25519
ssh-copy-id user@1.1.1.1
Теперь вход выглядит так:
ssh -D 1081 -N user@1.1.1.1
Никаких паролей. Чистая криптография. И вы чувствуете себя хакером из фильмов 90-х.
Ложка дёгтя (Важно!)
SSH-туннель — это не VPN и не VLESS.
DPI видит протокол SSH.
Если ваш провайдер решит резать SSH-трафик, этот метод перестанет работать.UDP не поддерживается.
Звонки в Telegram или Zoom через такой SOCKS5 могут не работать (SSH умеет только TCP, хотя есть костыли, но это тема другой статьи).DNS.
Убедитесь, что ваш браузер проксирует и DNS-запросы тоже (галочка "Proxy DNS when using SOCKS v5" в Firefox), иначе провайдер увидит, на какие сайты вы ходите, хоть и не увидит контент.
Заключение
SSH-прокси — это швейцарский нож. Он не заменит полноценный инструмент для обхода блокировок в условиях жесткой цензуры, но как средство «быстро попасть на любимый сервер» часто работает без навороченных комбайнов.
Настраивается за минуту, не требует установки лишнего софта и спасает нервные клетки. А свобода... свобода нынче начинается с собственных знаний.
Ряд проблем
Проблема 22 порта:
Сейчас многие провайдеры (особенно мобильные) режут или замедляют именно SSH протокол. Можно сменить порт SSH сервера на 443 (если там не веб-сервер) или любой рандомный (например, 2222), чтобы снизить вероятность блокировки по стандартному порту.
Клиентская часть:
Не все любят консоль. Можно рекомендовать для использования Windows: Bitvise SSH Client (умеет socks из коробки и автореконнект). Android/iOS: Termius или ConnectBot (чтобы раздать интернет с телефона через SSH туннель).
Настройка ufw: имеет смысл запретить доступ на сервер со всего интернета и оставить только известный диапазон адресов своего провайдера на случай если Fail2Ban не вывезет.
P.S. Статья написана в основном для неофитов и для побуждения поднять свой уровень образования в части сетевого администрирования и использования сетевых протоколов. Тема статьи бесконечная, и дан абсолютный минимум.
Комментарии (6)

Ava256
06.12.2025 17:50Добавьте в sshd_config параметры:
AllowUsers «список пользователей для доступа»
или AllowGroups для групп доступа.
PermitRootLogin no
PasswordAuthentication noОстанется доступ только по ключам и fail2ban не особо нужен.

Driver86
06.12.2025 17:50Вроде как РКН урезает скорость ssh. Пытался я как-то скачать бэкап сервера через WinSCP - скорость падала сильно...
Работать через ssh ещё можно, но использовать как прокси - сомнительно

JBFW
06.12.2025 17:50С торможением scp сталкивался еще тогда, когда Роскомнадзор занимался полезным делом: гонял плохих провайдеров, которые встраивали рекламу в HTTP, а сайты не тормозил.
Но scp и тогда тормозил заметно...
Kahelman
«Проблемы индейцев Шерифа не волнуют…»
Надо в нормальные юрисдикции перебираться
gliderman Автор
Я хотел в Германию, а там на моноколесе нельзя ездить. И вот сидим на своих болотах.