これを模倣するようにsshを設定する方法:
ssh [email protected] -i /path/to/.ssh/server-1-ssh-key -t ssh server2-user[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
/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
しかし、それは機能しません。
したがって、基本的にはserver1をジャンプボックスとして機能させたいので、server1には1つのスタンザが必要です。
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
両方のサーバーのsshd_configファイルでAllowAgentForwardingを設定する必要があります。サーバー1のクライアント構成でForwardAgentを設定する必要がある場合もあります。
参照: https://help.github.com/articles/using-ssh-agent-forwarding