我们有堡垒服务器 B。我们需要使用私钥 (我们使用带有 keeAgent 的 keepass) 从 A 通过 B 到 C 进行 SSH 连接。
在堡垒中我有:AllowTcpForwarding yes
。
我尝试使用proxyCammand
:
Host app
Hostname *.*.*.*
User my-user
Port 22
ProxyCommand ssh -W %h:%p bast
Host bast
Hostname *.*.*.*
# ForwardAgent no
User my-user
ssh app
设法进入堡垒服务器,并在尝试连接私人服务器时失败。错误是:
channel 0: open failed: connect failed: Connection timed out
stdio forwarding failed
ssh_exchange_identification: Connection closed by remote host
在/var/log/secure
登录堡垒上我看到:
error: connect_to *.*.*.* port 22: failed.
答案1
我发现了问题。
在app
部分中我写了公共 IP,就像我在Bast
部分中所做的那样,并且因为我一直在连接。
现在我将 IP 更改为私有 IP,一切正常!我不确定为什么无法通过公共 IP 连接。我使用了 AWS快速开始。
答案2
如果禁用了代理转发,bast 将如何向应用程序进行身份验证?您需要在 bast 上启用代理转发,以便它可以将您的密钥转发给应用程序。
此外,您是否有在本地代理中加载应用程序的密钥?