2つの連続した要塞ホストを使用してLinuxサーバーにログインしたいと思います。私の.ssh/config
ファイルは次のとおりです。
Host *
User username0
Host hostname0
Hostname foo
Host hostname1
Hostname bar
Port 0
ProxyCommand ssh -W %h:%p hostname0
Host hostname2
User username2
Hostname bat
Port 1
ProxyCommand ssh -W %h:%p hostname1
私のユーザー名はhostname0
andですが、私のユーザー名hostname1
はです。username0
hostname2
username2
ホスト名0とホスト名1のエントリが期待どおりに機能します。ただし、項目はhostname2
そのUser
オプションを無視しているようです。
ssh hostname2
その結果、以下が表示されます。
username0@hostname2's password:
ホスト名2のProxyCommandをssh -l username2 -W %h:%p hostname1
次に変更すると、ユーザー名2 @ホスト名1のパスワードを入力するように求められます。としてusername2@hostname1's password
ログインするように要求したので、これは意味がありますが、実際には私のユーザー名があるため、明らかに機能しません。hostname1
username2
username0
各ケースで正しいユーザー名を使用するようにSSHをどのように設定しますか?
ベストアンサー1
別のブロックシーケンスを使用してくださいHost
。Host *
すべての項目と一致し、すでに保存ssh_config
されている項目は上書きされません。
Host hostname0
Hostname foo
Host hostname1
Hostname bar
Port 0
ProxyCommand ssh -W %h:%p hostname0
Host hostname2
User username2
Hostname bat
Port 1
ProxyCommand ssh -W %h:%p hostname1
Host *
User username0
最後まで移動するとHost *
再び動作します。