SSH 代理错误

SSH 代理错误

我希望能够通过 IPSec 隧道建立到远程服务器的 SSH 连接。因此,我需要使用本地端点作为中间跃点来实现此目的。

以下命令已经可以正常工作:

ssh -tt smals ssh -tt lpextapp050a

  • smals是中间服务器的名称,如我的.ssh/config文件中所定义。
  • lpextapp050a是目标服务器的名称,如.ssh/config文件中所定义smals

所以我尝试将其转换为我的配置,.ssh/config如下所示:

Host lpextapp050a
User <username>
ProxyCommand ssh root@smals -W lpextapp050a:22

但是,尝试连接ssh lpextapp050a给了我这个错误:

channel 0: open failed: administratively prohibited: open failed
stdio forwarding failed
ssh_exchange_identification: Connection closed by remote host

谷歌似乎表明我需要检查sshd 的AllowTcpForwarding和设置,但这些设置正确,即。它们不存在于设置文件中。我尝试专门设置它们,但没有改变任何东西。PermitOpensmals

有谁知道我做错了什么?

答案1

我已经发现了我的错误。

别名lpextapp050a是在服务器用户.ssh/config的文件中定义的。rootsmals

当使用此配置文件建立连接时,ssh -tt smals ssh -tt lpextapp050a已加载并遵守该文件。

尝试使用 ProxyCommand 建立相同的内容不是加载这个配置文件。我终于通过阅读服务器/var/log/auth.log上的文件发现了这一点smals

因此,我通过基本上将相关部分(IP、用户)复制到本地配置文件中来解决我的问题。

相关内容