Чи можу я створити SSH для тунелю HTTP через сервер, як це було проксі?


33

Скажіть, у мене є serverі client. Мені потрібно створити з'єднання з clientдо websiteчерез serverяк це проксі.

Чи можливо це зробити за допомогою тунелю SSH або мені потрібно встановити якусь службу проксі до server?

Відповіді:


43

Це можна зробити за допомогою ssh

ssh -L 80:remotehost:80 user@myserver

Тоді у вас буде тунель від вашого локального порту 80 до порту 80 віддаленого господаря. Це не повинно бути таким же, як місервер. Щоб зробити це прозорим, слід додати запис до файлу хостів. Якщо ви цього не зробите, пристрасті не спрацюють. Якщо ви хочете з'єднати проксі-сервер SOCKS, ви також можете використовувати

ssh -D 5000 user@myserver

Це створить проксі-сервер SOCKS на локальному порту 5000, який спрямовує всі запити через myserver.


2
Якщо вам потрібен, щоб тунель був доступний клієнтам поза вашим коробкою, додайте опцію -g.
містер-євро

1
Як написана команда для мене не працювала. Мені довелося замінити віддалений хост на циклічний
зворот

Було б корисніше, якби віддалений порт відрізнявся від локального одного ssh -L 81:remotehost:80 user@myserverлокального порту 81 переговорів, як якщо б він був 80 на віддаленому.
Рафарейно

1
Якщо ви хочете додати проксі-сервер SOCKS через ваш ~ / .ssh / config, скористайтеся:Host myserver User user DynamicForward 5000
bonh

15

Так, це можливо.

Запустіть ssh -D port user@hostі налаштуйте свого клієнта, щоб використовувати ваш ящик як проксі-сервер SOCKS.

Якщо вам потрібен проксі-сервер HTTP, то ви можете використовувати Proxychains і переміщувати його через попередні SOCKS.


5

Шпакті це теж дуже добре.

Під SSH, goto Tunnel. Внизу покладіть 8080 в порт, а для пункту призначення залиште його чорним кольором та виберіть перемикач «Динамічний». Це все, що вам потрібно зробити, тепер підключіться до сервера за допомогою Putty.

Після підключення у вас на сервері localhost на порту 8080 працює проксі-сервер, який буде проксі всі запити через ваш сервер.

Тепер скористайтеся веб-браузером та встановіть проксі, встановивши host = localhost та port = 8080 і переконайтесь, що його проксі-сервер SOCKS. Я роблю це постійно, тому якщо ви користуєтеся Firefox, не забудьте встановити плагін FoxyProxy, оскільки він робить увімкнення / вимкнення проксі-сервера справою в один клік.

Попередження: Будьте в курсі, що за замовчуванням ваші запити DNS не мають проксі. Тож веб-сайт, який ви відвідуєте через проксі, все одно буде реєструватися (якщо вони реєструють цей матеріал). Ви також можете встановити Firefox для проксі-запитів DNS, він просто не робить це за замовчуванням.


5

sshuttle працює як VPN, але над SSH.

Прозорий проксі-сервер, який працює як VPN для бідної людини. Вперед на ssh. Не вимагає адмін. Працює з Linux та MacOS. Підтримується тунелювання DNS.

https://github.com/sshuttle/sshuttle


2

Щоб дозволити запуску проксі-сервера на комп’ютері та дозволити іншим клієнтам підключитися до вас, знадобиться опція -g. Так, наприклад, ви запустили це на сервері під назвою foo:

ssh -g -ND 9191 root@remotehost

Потім ви можете встановити проксі-сервер у браузері клієнта, щоб використовувати foo-сервер та порт 9191 для проксі-сервера SOCKS. Клієнти надсилають свої запити занадто foo, який, в свою чергу, пересилатиме запит через ssh на віддалений хост. Тож в Інтернеті виглядатиме так, що вони використовують віддалений хост.

Якщо ви хочете переслати DNS-запити також з firefox, відредагуйте about: config у firefox та встановіть network.proxy.socks_remote_dns на true.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.