有一段时间,我不得不连接到一个服务器访问受到严格限制。
只有入站SSH是DMZ防火墙允许的。
出站HTTP连接被阻止。
我正在寻找一种简单的方式来通过我的SSH会话来访问Web访问,所以我可以通过yum / apt-get来安装更新和软件。 理想情况下,我想避免在保护区内安装额外的软件/服务。
你在这种情况下做什么?
SSH具有-D <port> SOCKS代理选项。 但不幸的是,这只是从客户端到服务器的单向,没有反向选项。
我终于设法只用SSH来完成这个工作:
ssh -D ) ssh -R )到您的本地SOCKS代理 1.启动本地袜子代理:
通过SSH连接到本地主机,并在端口54321上打开SOCKS代理。
$ ssh -f -N -D 54321 localhost
-f在后台运行SSH。
2.连接服务器并设置反向端口转发
将远程端口6666绑定到本地端口54321.这使得您的本地socks代理可用于端口6666上的远程站点。
$ ssh root@server -R6666:localhost:54321
3.configuration服务器软件使用转发的代理
我发现安装proxychains让事情变得更容易。 它是一个使用LD_PRELOAD技巧将来自任意命令的TCP和DNS请求封装到代理中的工具。
这是可选的 – 您也可以configurationyum,apt-get或任何其他软件包pipe理器来使用您的转发的袜子代理。
proxychains非常酷,因为它使任何软件都可以使用SOCKS代理,即使那些没有代理支持的代理。 (例如telnet )
设置/etc/proxychains.conf以使用转发的socks代理:
[ProxyList] # SSH reverse proxy socks5 127.0.0.1 6666
使用proxychains隧道任意工具(使用TCP):
$ proxychains telnet google.com 80 $ proxychains yum update $ proxychains apt-get update