我想build立一个包含3台机器的ssh隧道。 一台机器,我想要从http请求,但只能连接到中央服务器和出站端口80请求。 服务器是一个Linux的盒子,我有完整的root权限。 第三台机器是我的笔记本电脑。 我正在考虑设置一个SSH机器,将http机器远程端口转发到服务器,即ssh -R 9999:localhost:9999 user @ server_ip_address。 然后从我的笔记本电脑,我可以“ssh -D8080用户@服务器IP地址”与中间的一些netcat,但我不知道在中间使用什么命令。
有人能告诉我我的思想出了什么问题吗? 或者我怎么可能做到这一点…
我有点困惑…你说你有一个Linux的Web服务器,你想通过SSH隧道连接到它?
您可以使用-L和-g开关来执行此操作。 如果你有一个远程的Linux系统,端口22打开,而你远程有两台机器,就可以在服务器A和另外两台远程服务器上使用B和C …你可以创build一个通道在A和B之间使用-g和-L以及适当的命令行(如ssh -g -L 5000:remote-ip:80 yourname @ remoteIP)在机器B上连接到机器A,然后在B上指向localhost端口5000到调出A的网站,笔记本电脑C可以通过机器B上的网页浏览器连接到5000端口,也可以调出机器A的网页。 -L处理端口转发和映射,-g允许其他机器在运行SSH的主机之外访问隧道。
这有帮助吗?
请记住,encryption仅在A和B之间。C和B之间的通信是未encryption的。
你不只是想从你的笔记本电脑运行以下内容:
ssh -L 9080: web-server :80 user @ central-server
然后指向你的笔记本电脑的浏览器
HTTP://本地主机:9080