SSH 隧道连接到防火墙后面的盒子

SSH 隧道连接到防火墙后面的盒子

我有一台防火墙后面的计算机、一台家用台式机和一台服务器。我可以从防火墙后面的计算机反向建立 SSH 隧道到服务器,然后

ssh  localhost -p some_port 

在服务器上,但如果我尝试

ssh my_server -p some_port 

从家里。我已禁用 iptables 以确保这不是防火墙问题,但这没有帮助。

我需要做什么才能使我的三人服务器正常运行?

理想情况下,我希望将某些请求的 http 端口转发到防火墙后面的机器。

答案1

如果您已经有与服务器的反向 ssh 隧道,您可能正在寻找“-g”选项。

-g      Allows remote hosts to connect to local forwarded ports.

否则,只有本地主机才被允许使用您的隧道。

答案2

来自 SSH 文档转发端口

重要的是要意识到,如果您有三个主机,即客户端、sshdserver 和应用服务器,并且您将来自客户端端口 x 的流量转发到应用服务器的端口 y,则只有客户端和 sshdserver 之间的连接是安全的。请参见图转发到第三台主机。您使用的命令将类似于以下内容:

ssh2 -L x:appserver:y username@sshdserver

替代文本
(来源:ssh.com

答案3

我不太明白你的问题,或者说,问题是什么以及你想要实现什么。另外,这不是一个编码问题,但我会尝试深入研究它。

您是否想从防火墙外部通过服务器通过 SSH 将 TCP 连接隧道传输到 computer_behind_firewall?并且此 SSH 连接失败?如果是这样,您应该tcpdump tcp PORT在服务器上运行以查看是否真的没有数据包到达。如果它们到达,则您的 sshd 或 TCP 包装器配置为不接受来自外部的连接(检查 /etc/ssh/sshd_config、/etc/hosts.deny 和 /etc/hosts.allow)。还要查看 /var/log 中的日志文件。如果没有数据包到达,则在发送端或服务器 LAN 网关上有一个防火墙阻止或不转发到专用网络。

相关内容