我尝试创建一个通过服务器的客户端隧道,使用以下命令
ssh -X -f admin@IP_server -N -L 4444:IP_client:80
但是,当尝试打开client:80由firefox接收为错误时,
channel 2: open failed: unknown channel type:
Connection to 81.21.20.207 closed by remote host.有人知道问题在哪里?非常感谢
发布于 2011-03-05 00:47:25
下面是我用来在服务器上加载webmin的内容(这是防火墙的一部分,只有具有ssh访问权限的人才能看到它):
ssh -l oli -L 9090:localhost:9090 my-server-ip它将我连接到服务器,并将本地端口9090映射到服务器的P9090。我只是在http://localhost:9090/上浏览,我可以看到webmin。
如果您试图通过您的服务器连接到另一个设备,那么您实际上不希望使用手动隧道选项。ssh有内置的SOCKS代理模式。运行以下命令:
ssh -D 9999 oli@my-server-ip然后你告诉你的浏览器关于SOCKS代理。在网络设置下查看。localhost作为服务器,端口9999。记住,这必须在袜子的设置之下。这不是HTTP代理。
现在,当您浏览时,所有的流量都会通过ssh隧道。这意味着,如果另一端有一个只有您的服务器可以访问的设备,您可以使用它的IP连接到该设备。
请注意,DNS查找和其他网络流量不会通过隧道(AFAIK),因此,如果它产生了影响,则需要连接到IP (我怀疑在本例中会这样)。
发布于 2011-03-04 22:46:18
如果你想要一个反向隧道,试试这个:
ssh -NT -R 4444:local.mydomain.com:80 user@remote.mydomain.com这样做是启动到remote.mydomain.com的连接,并将remote.mydomain.com上的TCP端口4444转发到local.mydomain.com上的TCP端口80。"-N“告诉ssh只设置隧道而不准备命令流,"-T”告诉ssh不要在远程系统上分配伪tty。"-R“选项告诉ssh将隧道设置为反向隧道。
发布于 2011-03-04 22:34:34
你的描述很混乱。按照规定,您告诉它到localhost:4444的连接将被转发到IP_server,后者应该连接到IP_client:80,然后直接连接到IP_client:80?
https://askubuntu.com/questions/29057
复制相似问题