私は、複数の環境に対して複数のSSHキーを持つ環境で作業しています。すべて要塞ホストを使用します。つまり、すべての環境のすべてのボックスにSSHを介して接続できます。 2段階のジャンプで、最初のものは要塞に、2番目のものは要塞に移動します。要塞ターゲットボックスと私のSSH IDは常に私と一緒にいる必要がありました。
ssh と .ssh/config の両方で、現在すべての SSH ID を要塞ホストに渡し、そこで再利用するオプションがあることがわかります。
ssh -A IPADDRESS
そしてForwardAgent
IdentityFile
また、.ssh / configには、接続するホストに応じて使用するSSHキーを指定するオプションがあることがわかります。しかし、私が気づいたのは、IdentityFileオプションで使用されるすべてのIDが使用されていないことです。ForwardAgent
これをBaschenホストに渡しますが、キーなしでは次のボックスにSSHを送信できません。
これまでこれを行うことができた唯一の方法は、使用する必要があるIDを手動で追加してから、またはを使用してssh-add ~/.ssh/id_rsa[1-10]
sshForwardAgent
を使用することですssh -A
。ただし、複数のIDを切り替える必要がある場合は、これが痛いかもしれません。
SSH設定ファイルのみを使用してこれらすべてを実行する方法はありますか?
ベストアンサー1
上記のタスクを実行するよりきれいな方法は、SSH設定を次のようにProxyCommand
使用することです。ProxyJump
Host bastion.host
User user1
IdentityFile ~/.ssh/id_bastion
Host remote.host
User user2
IdentityFile ~/.ssh/id_remote
ProxyJump bastion.host