如何使用另一台服务器和第二台服务器上的密钥 ssh 到服务器?

如何使用另一台服务器和第二台服务器上的密钥 ssh 到服务器?

如何配置 ssh 来模仿这个:

ssh [email protected] -i /path/to/.ssh/server-1-ssh-key -t ssh [email protected] -i /home/server1-user-name/.ssh/server2-ssh-key

当我执行时

ssh server2

解释:

  • 我使用本地计算机上的密钥登录到 server1.net ( /path/to/.ssh/server-1-ssh-key)

    ssh [email protected] -i /path/to/.ssh/server-1-ssh-key
    
  • 然后我用以下IP登录到服务器10.0.0.10。为此/home/server1-user-name/.ssh/server2-ssh-key,我使用存储在 server-1 上的密钥 ( )

对于这种情况,我的本地计算机上的 ssh 配置应该如何?

我尝试了以下配置:

Host server2
  Hostname 10.0.0.10
  User server2-user-name
  ForwardAgent yes
  ProxyCommand ssh -i /path/to/.ssh/server-1-ssh-key -W %h:%p

但这不起作用。

答案1

所以基本上你希望 server1 充当你的跳转箱,所以你需要 server1 的一个节:

Host server1
Hostname server1.net
User server1-user-name
IdentityFile /path/to/.ssh/server-1-ssh-key

然后您需要服务器 2 的一节来跳过这一节:

Host server2
Hostname 10.0.0.10
User server2-user-name
ForwardAgent yes
ProxyCommand ssh server1 nc %h %p 2> /dev/null
IdentityFile /home/server1-user-name/.ssh/server2-ssh-key

答案2

您需要在两台服务器的 sshd_config 文件中设置 AllowAgentForwarding。您可能还需要在服务器 1 上的客户端配置中设置 ForwardAgent。

看:https://help.github.com/articles/using-ssh-agent-forwarding

相关内容