我有一台防火墙,一台家用台式机和一台服务器。 我可以反向ssh隧道从computer_behind_firewall服务器,然后
ssh localhost -p some_port
而在服务器上,但它不工作,如果我尝试
ssh my_server -p some_port
从家里。 我禁用了iptables,以确保它不是防火墙问题,这并没有帮助。
我需要什么来使我的Ménage三重奏服务器工作?
理想情况下,我想将某些请求上的http端口转发到防火墙后面的机器上。
从端口转发的SSH文档:
认识到如果你有三个主机,客户端,sshdserver和appserver,并且你将来自客户端端口x的stream量转发到应用服务器的端口y,那么只有客户端和sshdserver之间的连接才会被保护。 请参阅图转发到第三个主机。 您使用的命令将如下所示:
ssh2 -L x:appserver:y username@sshdserver替代文字http://www.ssh.com/support/documentation/online/ssh/adminguide/32/tunnel2-2.gif
如果你已经有一个反向的服务器ssh隧道,你可能正在寻找“-g”选项。
-g Allows remote hosts to connect to local forwarded ports.
否则只有本地主机将被允许使用你的隧道。
我不太明白你的问题,或者说问题是什么,你想达到什么目的。 此外,这不是一个编码问题,但我会试着去挖掘它。
您是否想通过服务器从防火墙外部将TCP连接通过SSH隧道传输到computer_behind_firewall? 而这个SSH连接服务器失败? 如果是这样,你应该在服务器上运行tcpdump tcp PORT来查看是否真的没有数据包到达。 如果他们到达,您的sshd或TCP包装被configuration为不接受来自外部的连接(检查/ etc / ssh / sshd_config,/etc/hosts.deny和/etc/hosts.allow)。 还要查看/ var / log中的日志文件。 如果没有数据包到达,那么在发送端或服务器局域网的网关上都有一个防火墙阻止或不转发到专用networking。