我一直在努力设置一个有效的配置来打开与第二台机器的连接,通过另一台机器,并使用 id_rsa(它要求我输入密码)连接到第三台机器。
我在另一个论坛上问过这个问题,但我没有收到可以认为非常有帮助的答案。
这个问题,更好地描述,如下:
Local machine: user1@localhost
Intermediary machine: user1@inter
Remote target: user2@final
Run Code Online (Sandbox Code Playgroud)
我可以使用伪 tty 完成整个连接:
ssh -t inter ssh user2@final
Run Code Online (Sandbox Code Playgroud)
(这将询问我在机器“inter”中的 id_rsa 文件的密码)
但是,为了加快速度,我想设置我的 .ssh/config 文件,以便我可以使用以下命令简单地连接到机器“final”:
ssh final
Run Code Online (Sandbox Code Playgroud)
到目前为止,我所拥有的 - 不起作用 - 在我的 .ssh/config 文件中:
Host inter
User user1
HostName inter.com
IdentityFile ~/.ssh/id_rsa
Host final
User user2
HostName final.com
IdentityFile ~/.ssh/id_rsa_2
ProxyCommand ssh inter nc %h %p
Run Code Online (Sandbox Code Playgroud)
id_rsa 文件用于连接到中间机器(这不需要我输入密码),而 id_rsa_2 文件用于连接到机器“final”(这个需要密码)。
我试过混合一些LocalForward和/或RemoteForward字段,并将 id_rsa 文件放在第一台和第二台机器上,但我似乎无法在没有任何配置的情况下成功。
PS:我试图从以下方面获得一些帮助的线程:
http://www.linuxquestions.org/questions/linux-general-1/proxycommand-on-ssh-config-file-4175433750/