ターゲットからターゲットへの「リバース」SSH接続

ターゲットからターゲットへの「リバース」SSH接続

2台のコンピュータAとBがあり、異なるサブネットにあり、両方とも別々のファイアウォールの背後にあります。マシンAはBを見ることができますが、BはAを見ることができません。どちらのコンピュータにもルート以外のユーザーアカウントがあり、AからBへのSSHを実行できます。BからSSH Aに接続できるようにしたいです。しかし、直接行うことはできません。

中間サーバーをスキップするためにSSHを介したトンネリングを使用してみましたが、ここで必要なものは異なり、何と呼ぶのかわかりません。 AからBへの接続を開き、その接続を「逆方向」にマシンBで使用してAからコマンドを実行する方法はありますか?

答え1

簡単に答えると「はい」です。方法は次のとおりです。

machine-A$ ssh -R 127.0.0.1:2222:127.0.0.1:22 [ip__or_name_of_B]

これにより、次のことができますBsshA

machine-B$ ssh -p2222 127.0.0.1  

これは以下を説明します。

  • localhost()へのポートのすべてのトラフィックがトンネルされ、ローカルホスト(現在のローカル側)ポートに送信されるようにリモート側()にAトンネルを作成します。-R127.0.0.12222127.0.0.122

  • コマンドは、トンネルの入り口であるlocalhostポートに移動するだけですBssh2222

関連情報