Коротка відповідь
Як використовувати SSH як SOCKS-проксі через мій VPS?
Виконайте ssh -D 127.0.0.1:1080 -N user@your-vps на своєму комп'ютері, потім вкажіть застосунку проксі SOCKS5 127.0.0.1:1080. Трафік виходить з адреси VPS. Тариф Gloamport Ember, 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic за $3.74 на місяць при 12-місячному терміні, для цього підходить, бо OpenSSH уже є на сервері.
Які параметри SSH використовує SOCKS-проксі?
| Варіант | Де | Що робить |
|---|---|---|
| Рядок команди ssh | -D [bind_address:]port | Локальна динамічна переадресація: ssh працює як сервер SOCKS4/SOCKS5 на цьому порту |
| -N | -D [bind_address:]port | Не виконувати віддалену команду; лише переадресовувати |
| -f | -D [bind_address:]port | Перейти у фон після автентифікації |
| -o ExitOnForwardFailure=yes | -D [bind_address:]port | Завершити з'єднання, якщо переадресацію не вдалося налаштувати |
| DynamicForward | ~/.ssh/config | Те саме, що -D, але збережене у файлі конфігурації |
| ServerAliveInterval | ~/.ssh/config | Просити сервер відповісти після стількох секунд тиші; за замовчуванням 0 вимикає це |
Значення опцій з посібників ssh і ssh_config з OpenSSH.
Що робить SSH SOCKS-проксі і чого не робить?
SSH SOCKS-проксі надсилає трафік застосунків, які ви на нього вказали, через зашифроване з'єднання SSH до вашого VPS, а той уже відкриває справжні з'єднання. Посібник ssh описує -D як локальну динамічну переадресацію, у якій ssh працює як сервер SOCKS4 або SOCKS5, а віддалена машина читає призначення з протоколу застосунку.
Вебсайти, які ви відвідуєте, тоді бачать адресу VPS, а не вашу домашню. Три речі лишаються незмінними. Проксі використовують лише застосунки, налаштовані на нього; решта системи йде звичним шляхом. Ваш хостинг-провайдер VPS бачить з'єднання від вашої адреси до VPS. А сайти, в які ви входите, однаково знають, хто ви. SOCKS-проксі змінює походження запитів; він не приховує вашу особу від сервісів, у які ви входите. Якщо потрібно, щоб маршрутизувався весь трафік пристрою, використовуйте тунель: Як налаштувати WireGuard на VPS?.
Як використовувати SSH SOCKS-проксі
Потрібен VPS, до якого ви вже можете підключитися через SSH. Якщо ключа ще немає, почніть з гайду про ключі.
Увійдіть один раз, щоб перевірити доступ
Підключіться командою ssh root@YOUR_VPS_IP або до користувача, якого створили. Gloamport видає root через SSH: ключ, який ви вставили під час оформлення, або тимчасовий пароль root, якщо залишили поле порожнім. Змініть цей пароль при першому вході.
Відкрийте динамічну переадресацію
На власному комп'ютері виконайте першу команду з блоку коду нижче. Термінал зайнятий і нічого не виводить: проксі відкритий, доки команда працює. Прив'язка до 127.0.0.1 тримає порт доступним лише з вашого комп'ютера.
Перевірте через curl
В іншому терміналі виконайте команду curl з блоку коду. --socks5-hostname змушує проксі розв'язувати ім'я, тож DNS-запити також ідуть через VPS. Замініть example.org на сторінку перевірки адреси на свій вибір, щоб побачити адресу VPS.
Вкажіть браузеру проксі
У мережевих налаштуваннях браузера оберіть ручний проксі: хост SOCKS 127.0.0.1, порт 1080, SOCKS v5. Увімкніть в браузері опцію розв'язувати DNS через проксі (Firefox називає її «Proxy DNS when using SOCKS v5»), щоб запити не витікали до вашого локального резолвера.
За потреби запустіть у фоні
Додайте -f і -o ExitOnForwardFailure=yes до команди. Тоді ssh переходить у фон, щойно переадресація піднята, і завершується з помилкою, якщо порт зайнятий. Зупиніть його пізніше командою kill з блоку коду.
Збережіть у ~/.ssh/config
Додайте запис Host з DynamicForward і ServerAliveInterval до конфігурації SSH, потім запускайте проксі командою ssh -N gloam-proxy. Повідомлення alive не дають неактивному з'єднанню тихо розірватися.
# Foreground: the proxy lives as long as this command runs
ssh -D 127.0.0.1:1080 -N root@YOUR_VPS_IP
# Test from a second terminal; the proxy resolves the name too
curl --socks5-hostname 127.0.0.1:1080 https://example.org/
# Background version
ssh -f -N -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 root@YOUR_VPS_IP
# Stop the background proxy
pkill -f "ssh -f -N -o ExitOnForwardFailure=yes -D 127.0.0.1:1080"Host gloam-proxy
HostName YOUR_VPS_IP
User root
DynamicForward 127.0.0.1:1080
ServerAliveInterval 30
ExitOnForwardFailure yesЯкий тариф Gloamport достатній для SSH-проксі?
Найменшого тарифу достатньо, оскільки сервер лише пересилає байти. Ember дає 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic за $3.74 на місяць за 12-місячним терміном, і $22.44 за 3 місяці. Важливіша цифра трафіку, ніж CPU: усе, що ви переглядаєте, зараховується до місячного ліміту тарифу. Одна IPv4-адреса і IPv6 /64 на кожен VPS, порт 1 Gbit/s. Трафік тарифу враховується лише вихідний, і його використання саме по собі ніколи не створює рахунку.
Інтенсивніше використання, наприклад кілька людей, що ділять один проксі, — причина перейти на Dusk за $5.25 на місяць, який розрахований на VPN плюс релей Tor або onion-сайт. Тарифи мають терміни 1, 3, 6 і 12 місяців, для Ember і Dusk — щонайменше 3 місяці; див. тарифи і терміни.
Як зробити сторону SSH безпечною, перш ніж пускати через неї трафік?
Використовуйте ключ, а не пароль, і вимкніть вхід за паролем, щойно ключ запрацює. Так один відкритий порт на VPS не стане ціллю для вгадування паролів. Кроки в Як згенерувати SSH-ключ для мого VPS? і Як захистити SSH на новому VPS?.
Другий момент — адреса прив'язки. Посібник ssh каже, що порт -D слідує налаштуванню GatewayPorts, якщо не вказати адресу, а порожня адреса або * відкриває порт на всіх інтерфейсах. Завжди пишіть 127.0.0.1 перед портом, як у командах вище, щоб ніхто інший у вашій мережі не міг скористатися вашим проксі.
Чи краще SSH SOCKS-проксі, ніж VPN?
SSH-проксі налаштовується швидше, а VPN охоплює більше. Проксі потребує однієї команди і жодного серверного ПЗ, але обробляє лише застосунки, які вміють SOCKS. Тунель VPN несе весь трафік пристрою. За опитуванням Gloamport серед 10 листопада 2026 р., 28 з 49 переглянутих провайдерів не вимагають документа, що посвідчує особу, під час реєстрації, тож сервер для проксі не обов'язково коштуватиме вам документів. Для довшого порівняння читайте Чи краще самостійно розміщений VPN на VPS, ніж сервіс VPN?.
Підсумок
- ssh -D 127.0.0.1:1080 -N user@vps створює локальний проксі SOCKS5, який виходить з VPS.
- На сервері нічого додатково не встановлюється; достатньо OpenSSH.
- Використовуйте curl --socks5-hostname, щоб DNS також розв'язувався через проксі.
- Прив'язуйте до 127.0.0.1; порожня адреса прив'язки відкриває порт на всіх інтерфейсах.
- Через проксі йдуть лише застосунки, налаштовані на нього; VPN несе все.
- Ember, $3.74 на місяць при 12-місячному терміні, його запускає.
- Увійдіть за ключем, а потім вимкніть вхід за паролем.
SSH SOCKS-проксі: поширені питання
Чи працює ssh -D з SOCKS4 і SOCKS5?
Так. Посібник ssh каже, що ssh працює як сервер SOCKS4 або SOCKS5 для -D. Використовуйте SOCKS5 там, де застосунок його підтримує, бо він може передавати проксі імена хостів.
Чому мій браузер досі використовує локальний DNS?
Браузер сам розв'язує імена, якщо ви не вкажете йому надсилати запити через проксі. Увімкніть опцію віддаленого DNS для SOCKS v5 і використовуйте curl --socks5-hostname для тестів.
Як не дати проксі закритися в простої?
Встановіть ServerAliveInterval у ~/.ssh/config, наприклад 30. Його значення за замовчуванням — 0, тобто повідомлень alive взагалі не надсилається.
Чи можна поділитися проксі з іншими пристроями в моїй мережі?
Можна, змінивши адресу прив'язки, але тоді проксі стане доступним для кожного пристрою, що може дістатися до цього порту. Залиште 127.0.0.1, якщо не захищаєте порт брандмауером.
Чи можна пустити його через інший хост?
Так. ssh -J (ProxyJump) спершу під'єднується через один або кілька проміжних хостів; налаштуйте їх у ~/.ssh/config, бо опції командного рядка стосуються лише призначення.
Джерела (3)
- Сторінка посібника ssh(1): -D, -N, -f, -J — OpenBSD / OpenSSH (checked 2026-11-10)
- Сторінка посібника ssh_config(5): DynamicForward, ExitOnForwardFailure, ServerAliveInterval — OpenBSD / OpenSSH (checked 2026-11-10)
- Посібник curl: --socks5-hostname — curl project (checked 2026-11-10)