IdentityFileで指定されたSSH構成IDは、ForwardAgentによって渡されません。

IdentityFileで指定されたSSH構成IDは、ForwardAgentによって渡されません。

私は、複数の環境に対して複数の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 

おすすめ記事