我正在尝试创建ssh隧道来访问只能通过另一个服务器(B)访问的远程服务器(A)。我在本地计算机(L)上有一个密钥可以到达中继服务器(B),在中继服务器(B)上还有另一个密钥可以到达目标服务器(A)。
[具有中继服务器(B)密钥的本地机器(L)]-> [具有目标服务器(A)密钥的中继服务器(B)]-> [目标服务器(A)]
我的本地计算机(L)上有一个〜/ .ssh / config文件,看起来像这样:
Host relay.server(B)
Hostname relay.server
Port 22
User me
IdentityFile ~/.ssh/id_rsa
Host destination.server(A)
Hostname destination.server
Port 1122
User me
IdentityFile ~/.ssh/id_rsa
我可以通过以下方式使隧道正常工作:
ssh -N -L 1122:SERVER_PRIVATE_IP:22 relay.server(B)
在本地计算机上运行命令:这会提示我输入密码来解锁第一个钥匙,然后似乎挂起,它没有返回提示,使用该-f
选项或以a结尾使&
我无法输入密码。但是,如果我^C
在输入密码后再输入此命令,然后输入,ssh destination.server(A)
我会提示您提供密码以解锁第二个密钥,然后我将其连接到目标服务器(A)。
我正在寻找一个命令,该命令可让我从本地计算机(L)连接到目标服务器(A),并提示我提供解锁每个密钥所需的密码。或提出另一种组织方式的建议,以便我可以通过中继服务器(B)从本地计算机(L)直接连接到目标服务器(A)。
-f
; 得知它不起作用,我感到很抱歉。(你确定你试过-f
没有&
?)我的想法; 祝好运。