要塞ホストを介したアクセスのためのSSHエージェント転送の使用
注意:
エージェント転送の有効化は慎重に実行してください。 リモート・ホストでエスカレートされた権限を持つユーザーは、転送されたSSHセッションを介してエージェントにアクセスできます。 悪意のあるユーザーは、キーに直接アクセスすることはできませんが、エージェント・セッションをハイジャックして、エージェント内のキーを使用して他のシステムに接続できます。 信頼できないユーザーがいる可能性があるシステムに接続している場合は、エージェント転送の使用を回避してください。
SSHエージェント転送は、秘密キーを一元化して安全に保つことができる強力なツールです。 秘密キーを他のシステムにコピーすることは、できるかぎり回避してください。 SSHエージェント転送では、リモート・システムに接続してからそのシステム上のSSHクライアントを使用して、同じキー・ベースの認証によって別のシステムに接続できますが、最初に接続したホストに秘密キーをコピーする必要はありません。
サーバー側の構成
/etc/ssh/sshd_config
ファイルを変更して、SSHエージェント転送を構成します。 サーバーで、SSHエージェント転送をアクティブ化し、デフォルトで有効になっているAllowAgentForwarding
パラメータを確認します。
クライアント構成
この機能を有効にするには、接続先のホストのチェーン内の中間システムに接続するときに、ForwardAgent
オプションを使用する必要があります。 また、秘密キーがプライマリ・クライアント・ホスト上のSSHエージェントにすでにロードしてある必要があります。 SSHキー・エージェントの使用によるパスフレーズの記憶を参照してください。
SSHエージェント転送を使用するには:
- SSHエージェントが実行中であり、SSHキーがロードされていることを確認します。 クライアント・システムで次のコマンドを実行して、どのキーがエージェントによってロードされたかを確認します。
ssh-add -L
- 次のように、
ForwardAgent=yes
オプションを使用してホストに接続します。ssh -o ForwardAgent=yes server1.example.com
- リモート・ホスト上のSSHクライアントを使用して、公開キーが
authorized_keys
で構成されている別のサーバーに接続します。ssh server2.example.com
特定のサーバーに対してこのオプションを頻繁に使用する場合は、$HOME/.ssh/config
ファイル内のHost構成エントリにForwardAgentオプションを追加することを検討してください。 詳細は、ホストに関するSSHクライアント構成オプションの設定を参照してください。