哪个 SSH 配置选项可以阻止我通过 SSH 隧道进行 SSH 连接?

哪个 SSH 配置选项可以阻止我通过 SSH 隧道进行 SSH 连接?

我正在尝试直接连接到我的工作电脑(工作)仅可通过外部服务器使用(外部)。

因此,网络路径为:家 » 外面 » 工作

理想情况下,这应该是可行的:

home$ ssh -f -N -L2222:work.example.com:22 outside.example.com
home$ ssh localhost -p 2222  ## This just hangs

但事实并非如此。我也可以用完全不同的服务器替换 work.example.com,结果相同。这些步骤是正确的,因为我可以使用相同的逻辑连接到工作主机的网络服务器:

home$ ssh -f -N -L10080:work.example.com:80 outside.example.com
home$ lynx http://localhost:10080/  ## work's pretty web page is displayed 

另外,我可以通过 SSH 连接到工作如果我登录外部第一的:

home$ ssh outside.example.com
outside$ ssh work.example.com
work$  ## Yay, success!

最后,这也适用于涉及不同服务器的场景:

home$ ssh -f -N -L2222:different.example.com:22 another.example.com
home$ ssh localhost -p 2222
different$  ## Success!

所以,我猜想有一些 SSH 配置外部这使得我无法使用直接方法,因为它适用于不同的服务器。

运行带有 OpenSSH_5.3 的 OpenBSD 4.6。外部运行带有 OpenSSH_5.6p1 的 MacOSX 10.7.2。 工作运行带有 OpenSSH_5.3p1 的 CentOS 6.0。

编辑:今天我来上班的时候,这个解决方案就直直地映入我的眼帘。 小告密者(防火墙)一直在阻止我的连接,并且愉快地打开了不少“您想允许此连接吗”对话框。感谢您的帮助;我同意 @golimar 的正确答案,因为这是一个非常合理的解决方案。

答案1

可能是“外部”中 sshd_config 文件中的 AllowTcpForwarding 和/或 GatewayPorts 选项

如果是这种情况,您的 ssh 客户端应该会对此进行说明(在日志文件中或使用详细选项)。我在 Windows 上的 Putty 中看到了这一点,所以我不知道 ssh 命令的作用是什么……

相关内容