踏み台接続
sshcはProxyJumpに指定された踏み台へ順番に接続します。各踏み台と最終接続先でホスト鍵を検証し、それぞれに対応する認証情報を使います。
ssh-config
Host bastion
HostName 203.0.113.10
User ops
Host internal
HostName 10.0.0.20
User deploy
ProxyJump bastion最終接続先へのSSHは、踏み台へのSSH接続の中を通ります。ホスト鍵の確認と認証は、どちらもsshcエンジンが行います。
認証
踏み台と最終接続先は、別々の認証先です。使用する秘密鍵はそれぞれの接続設定へ指定し、鍵のパスフレーズとアカウントパスワードはVaultで各接続先へ割り当ててください。2FAなどの追加認証は、対話Terminalで入力できます。
接続中は「bastionへ接続中 · 1/2」「bastionのホスト鍵を確認中 · 1/2」「internalで認証中 · 2/2」のように、接続先の名前と何段目か(1/2)を付けて、接続・ホスト鍵の確認・認証の段階を表示しています。失敗した場合は、どの接続先で止まったのかを診断情報で確認できます。
ProxyCommand
ProxyCommandを設定した接続先では、sshcを実行しているローカルマシン上でコマンドを起動し、その標準入出力をSSH接続に使います。Unix系OSでは/bin/sh、Windowsではcmd.exeを介して起動します。接続ログには、実行するコマンドが表示されます。
次の場合はProxyCommandを実行しません。
- 同じ接続先に
ProxyJumpとProxyCommandの両方が書かれている場合: OpenSSHと同じく先に読み込んだ方だけを使い、後の行は無視します。無視した行は、接続先の[最終的な値]タブに表示されます。 - すでに別の踏み台へ接続した後のホップに
ProxyCommandがある場合: コマンドは踏み台ではなく、sshcを実行しているローカルマシン上で動くためです。
ProxyCommandはローカルコマンドを実行できる設定です。内容を確認し、信頼できるSSH設定だけを使用してください。