1つのコマンドを使用してホストからホストに直接ssh
接続したいと思いますA
。C
ssh
+---+ +---+ +---+
| A | -> | B | -> | C |
+---+ +---+ +---+
ホストはA
ホストにアクセスするためのキーで構成されていますB
(ssh B
Aで実行すると機能します)。
ホストはB
ホストにアクセスするためのキーで構成されていますC
(ssh C
Bで実行すると機能します)。
ホストA
のユーザー名は次のとおりです。daniel
ホストB
ユーザー名は次のとおりですubuntu
。ホストC
のユーザー名は次のとおりです。ubuntu
ホストはB
名前でC
はなくIPアドレスとして参照されます。
可能ですか?どのように?
答え1
次のように、コマンドラインから直接これを実行できます。
ssh -A -t ubuntu@hostB ssh -A hostC
または、"$HOME"/.ssh/config
ファイルに次の行を追加し、ssh hostC
一般的な方法で呼び出します。
Host hostB
User ubuntu
Host hostC
User ubuntu
ProxyCommand ssh -q hostB nc -q0 %h %p
あなたのシナリオではIPアドレスとして参照され、hostB
そのhostC
IPアドレスを適切な場所に配置するだけです。 (現場ubuntu@hostB
にいる必要があるかもしれませんProxyCommand
。)
詳しくは記事から透明なマルチホップSSH