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]
これにより、次のことができますB
。ssh
A
machine-B$ ssh -p2222 127.0.0.1
これは以下を説明します。
localhost()へのポートのすべてのトラフィックがトンネルされ、ローカルホスト(現在のローカル側)ポートに送信されるようにリモート側()に
A
トンネルを作成します。-R
127.0.0.1
2222
127.0.0.1
22
コマンドは、トンネルの入り口であるlocalhostポートに移動するだけです
B
。ssh
2222