追加のsshコマンドなしでSSH Configを使用して、ジャンプホスト経由でターゲットに直接SSHで接続する方法


14

私が行った場合:

ssh -J jumphost.example.com target.example.com

私はすぐに「ターゲット」にログオンすることになります。

このssh構成ファイルを使用し、新しいssh-7.3ジャンプ構成を使用する場合:

Host jump 10.1.*, targets*, *.example.com
  HostName jumphost.example.com
  IdentitiesOnly yes
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

私は最終的に「ターゲット」ではなく「ジャンプホスト」にログインします

彼らのキーチェーンはMac用のもので、私はそれなしでテストしましたが、違いはありませんが、念のために残しておくと思いました。


1
-JProxyJumpはありませんHostName
スパイダーボリス

回答:


21

設定では、指定したホスト名を無視してジャンプホストにログインするよう明示的に指示されているため、ジャンプホストにログインすることになります。

  HostName jumphost.example.com

HostName コマンドラインで指定されたホスト名を上書きします。

sshコマンドラインでジャンプホストを指定せずに自動的にジャンプホストを使用する場合、正しい構成ファイルオプションはProxyJumpです。例えば:

Host everything, behind, jumphost, *.example.com
  ProxyJump jumphost.example.com

これで実行できるようにssh target.example.comなり、ジャンプホストを経由します。


2

問題は、ホスト定義がjumphost.example.comとtarget.example.comの両方をエイリアスとしてキャッチし、両方のケースでHostNameをjumphost.example.comに設定することです。

Hostコマンドに続くエイリアスを完全修飾ドメイン名ではなく、各ホストエントリを作成することをお勧めします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.