Классический пример создания SSH-туннеля в режиме SOCKS-прокси (динамический порт-форвардинг), который часто используют для обхода блокировок, анонимного серфинга через удалённый сервер или доступа к заблокированным ресурсам.
Полная строка выглядит примерно так :
ssh -p 22222 -f -C -q -N -D 1080 root@myserver
Если коротко:
эта команда создаёт в фоне тихий сжатый SOCKS5-прокси через SSH-туннель на порт 1180, чтобы весь твой трафик шёл через удалённый сервер.
myserver (как пользователь root)После выполнения команды ваш компьютер начинает слушать на localhost:1180 как SOCKS5-прокси. Вы можете настроить браузер (или любую другую программу) использовать этот прокси → весь трафик будет идти через удалённый сервер myserver.
| Флаг | Что делает | Подробное объяснение |
|---|---|---|
-p 22222 |
Указывает нестандартный порт SSH-сервера | Вместо дефолтного 22 используется 22222. Полезно, когда 22 закрыт фаерволом или SSH-сервер специально перенесли. |
-f |
Fork → отправляет ssh в фон прямо перед выполнением команды | Процесс отсоединяется от терминала и продолжает работать в фоне. Полезно для долгоживущих туннелей. Влечёт за собой -n автоматически. |
-C |
Включает сжатие всего трафика (compression) | Особенно полезно на медленных соединениях (мобильный интернет, спутник, заграница). Сжимает данные перед шифрованием. |
-q |
Quiet → максимально тихий режим | Подавляет почти все предупреждения и диагностические сообщения. Остаются только критические ошибки. |
-N |
No remote command → не выполнять никакую команду на удалённом сервере | Самый важный флаг для туннелей. Без него ssh попытается запустить shell → соединение сразу упадёт, если stdin закрыт. |
-D 1080 |
Dynamic порт-форвардинг → создаёт локальный SOCKS-прокси на порту 1080 | -D [bind_address:]port. Здесь просто -D 1180 → слушает на 127.0.0.1:1080 (localhost). Поддерживает SOCKS4/SOCKS5. |
ssh -f -C -q -N -D 1080 -p 22222 root@myserver
→ после ввода пароля (или автоматической авторизации по ключу) терминал возвращается к вам, а в фоне работает: