我见过这个问题: 如何设置SSH隧道转发ssh? 但由于操作系统的障碍,我遇到了困难。 我有一个人坐在路由器后面的XP笔记本电脑,他们不能configuration。 我有他们运行freeSSHd,我需要连接到它。 我有我的个人SSH服务器,可以自由访问它。 另一个人只有PuTTY作为SSH客户端的一个选项,这使得这个问题变得混乱(特别是因为她不是技术精湛的人)。 我了解使用SSH隧道通过MY服务器连接到HER服务器的概念,但我似乎无法实现。 现在我有她通过puTTY连接到MY服务器与远程隧道(来源:1357)和(目的地:本地:23)。 她的freeSSHd服务器在端口23上运行。但是,当我尝试通过SSH连接到端口1357上的服务器时,出现连接拒绝错误。 这个设置有什么问题?
最终答案:
首先,在sshd_config中添加GatewayPorts clientspecified 。 然后,在puTTY中,添加一个带有SOURCE PORT <rport>和DESTINATION localhost:<sport>的远程隧道(其中<rport>是您希望公共SSH服务器侦听的端口, <sport>是您本地,防火墙的SSH服务器正在监听)。 确保puTTY隧道页面顶部的两个框都被选中。 这相当于(如果我理解正确的话)到ssh -N -g -R <rport>:localhost:<sport> user@public_server 。 然后,你应该能够通过SSH连接到连接到<rport>的公共服务器,它将正确地转发给防火墙服务器。 至less,它为我工作…
你需要确保它是一个反向隧道,所以在SSH-> Tunnels下确保底部的button说“远程”和“自动(或IPv4)”。 我无法做到这一点,所以我有兴趣看看问题是什么。
防火墙可能? 此外,你可能已经启用了TCPWrappers,所以请检查/etc/hosts.deny文件中的内容,如果你拒绝任何东西或者全部,那么你可能必须通过/etc/hosts.allow来允许它。 还要检查任何软件防火墙(我知道我首先说的是防火墙,但我指的是硬件防火墙,如路由器,PIX等)。