Могу ли я создать SSH для туннелирования HTTP через сервер, как это было прокси?

Скажем, у меня есть server и client. Мне нужно создать соединение из client в website через server, как это было прокси.

Возможно ли это сделать с помощью SSH-туннеля, или мне нужно установить некоторый прокси-сервис в server

22 голоса | спросил Jakub Arnold 26 +03002009-10-26T18:23:54+03:00312009bEurope/MoscowMon, 26 Oct 2009 18:23:54 +0300 2009, 18:23:54

5 ответов


27

Вы можете сделать это, используя ssh

ssh -L 80:remotehost:80 [email protected]

Тогда у вас будет туннель от вашего локального порта 80 до порта удаленного хоста 80. Это не должно быть таким же, как myserver. Чтобы сделать это прозрачным, вы должны добавить запись в файл hosts. Если вы не сделаете этого, то vhosts не будут работать. Если вы хотите SOCKS-прокси-соединение, вы также можете использовать

ssh -D 5000 [email protected]

Это создаст SOCKS-прокси на локальном хосте 5000, который направляет все запросы через myserver.

ответил Wienczny 26 +03002009-10-26T18:28:50+03:00312009bEurope/MoscowMon, 26 Oct 2009 18:28:50 +0300 2009, 18:28:50
14

Да, это возможно.

Запустите ssh -D port [email protected] и настройте своего клиента, чтобы использовать его в качестве прокси-сервера SOCKS.

Если вам нужен HTTP-прокси, то вы можете использовать Proxychains и маршрутизировать его через предыдущие SOCKS.

ответил mr-euro 26 +03002009-10-26T18:28:42+03:00312009bEurope/MoscowMon, 26 Oct 2009 18:28:42 +0300 2009, 18:28:42
5

Шпатлевка тоже хорошо справляется.

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

После подключения у вас есть прокси-сервер, работающий на вашем localhost на порту 8080, который проксирует все запросы через ваш сервер.

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

Внимание: помните, что по умолчанию ваши DNS-запросы не проксированы. Таким образом, веб-сайт, который вы посещаете через прокси-сервер, по-прежнему будет регистрироваться (если они регистрируют этот материал). Вы также можете установить firefox для прокси-DNS-запросов, но по умолчанию он не делает этого.

ответил J Sidhu 26 +03002009-10-26T18:58:45+03:00312009bEurope/MoscowMon, 26 Oct 2009 18:58:45 +0300 2009, 18:58:45
4

sshuttle работает как VPN, но через SSH.

  

Прозрачный прокси-сервер, работающий как VPN для бедных людей. Нападающие над ssh. Не требует администратора. Работает с Linux и MacOS. Поддерживает туннелирование DNS.

https://github.com/apenwarr/sshuttle

ответил Kasper Grubbe 24 J0000006Europe/Moscow 2014, 19:11:04
1

Чтобы разрешить прокси-серверу запускать компьютер и разрешить другим клиентам подключиться к вам, вам понадобится опция -g. Так, например, вы запустили бы это на сервере с именем foo:

ssh -g -ND 9191 [email protected]

Затем вы можете установить прокси-сервер в браузере клиента для использования сервера foo и порта 9191 для прокси-сервера SOCKS. Клиенты отправят свои запросы слишком foo, которые, в свою очередь, отправят запрос через ssh на remotehost. Поэтому в Интернете это будет выглядеть так, как будто они используют remotehost.

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

ответил Kyle Brandt 26 +03002009-10-26T18:40:17+03:00312009bEurope/MoscowMon, 26 Oct 2009 18:40:17 +0300 2009, 18:40:17

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132