バスチャンホストを介して接続するときの最小限の入力SSH設定

バスチャンホストを介して接続するときの最小限の入力SSH設定

ジャンププロキシ(バスチョンホスト)を介してデバイスに接続するには、次のように入力します。

ssh -J bhost myuser@localhost -p $PORT

myuser私のローカルデバイスに現在ログインしているユーザーのユーザー名と要塞ホストに接続されているアカウント。複数のポートを設定しました。

bhost私のSSH .configでは、次のように定義されました。

Host bhost
  HostName www.example.com
  PasswordAuthentication no
  IdentityFile ~/.ssh/id_ed25519

私の目標はmyuser@localhost。代わりに、次のようにログインできるようにします。

ssh -J bhost -p $PORT

私が使用する要塞ホストまたはポートはmyuser@localhost常に同じで、直接入力する必要はありません。

答え1

~/.ssh/configファイルのエントリを展開するだけです。おそらく以下のようなことがうまくいくでしょう。ご質問が実際に十分な情報を提供していないようですので、お試しください。

.ssh\config:

# this entry is the one you're trying to ssh to
Host example
  Hostname www.example.com
  ProxyJump bhost

# this entry is the bastion (jump) host
Host bhost
  Hostname www.example.com
  Port 8022
  User myuser
  IdentityFile ~/.ssh/id_ed25519

基本的に、2つの異なるホストを設定し、.ssh/configそのうちの1つがコマンドを介して別のホストを使用するように指示しますProxyJump

次に、ssh example目的のターゲットシステムに移動するために入力します。

答え2

答えは以下からインスピレーションを得ました。チームケネディ。彼が言ったように、これは〜/ .ssh / configファイルを介して行うことができます。

考えられる解決策は次のとおりです。

Host bhost
  HostName www.example.com
  PasswordAuthentication no
  IdentityFile ~/.ssh/id_ed25519

Host example1
  Hostname localhost
  User myuser
  Port 22021
  ProxyJump bhost
  PasswordAuthentication no
  IdentityFile ~/.ssh/id_ed25519

Host example2
  Hostname localhost
  User myuser
  Port 28022
  ProxyJump bhost
  PasswordAuthentication no
  IdentityFile ~/.ssh/id_ed25519

Host example3
  Hostname localhost
  User myuser
  Port 28023
  ProxyJump bhost
  PasswordAuthentication no
  IdentityFile ~/.ssh/id_ed25519

各ターゲットデバイスには固有のポート番号が必要です。彼らはまた共通のホスト名を持っていますlocalhost。もちろん、要塞ホストは実際のドメイン名です。

この構成により、次のことで最終目標を達成できます。

ssh example1

または

ssh exampleN

関連情報