如何配置 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