SSH はトンネルを使用してホストに接続します。

SSH はトンネルを使用してホストに接続します。

1つのコマンドを使用してホストからホストに直接ssh接続したいと思いますACssh

+---+       +---+       +---+
| A |   ->  | B |   ->  | C |
+---+       +---+       +---+

ホストはAホストにアクセスするためのキーで構成されていますBssh BAで実行すると機能します)。

ホストはBホストにアクセスするためのキーで構成されていますCssh CBで実行すると機能します)。

ホスト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そのhostCIPアドレスを適切な場所に配置するだけです。 (現場ubuntu@hostBにいる必要があるかもしれませんProxyCommand。)

詳しくは記事から透明なマルチホップSSH

関連情報