リバーストンネルを介してサーバー上にトンネルを作成する

リバーストンネルを介してサーバー上にトンネルを作成する

コンピュータは3台あります:

  • ローカルマシン (osx)
  • server1 (データセンターの CentOS 7、ポート 22 が開いている)
  • server2 (centos 7、NAT で閉じる)

server2はポート2222でserver1へのリバーストンネルを維持します。server1ssh localhost -p 2222で実行すると、server2のコマンドラインに直接移動します。

ローカル マシンから server1 を経由して server2 にトンネルを設定する最適な方法は何ですか? たとえば、 を使用して localhost から server1 へのトンネルを開始できますssh -D 5000 -N root@server1

追加のホップを作成して、トンネルをローカルホストからサーバー1、サーバー2まで通すにはどうすればよいですか? このようなことを試しましたssh -L 5000:localhost:5000 root@server1 ssh -L 5000:server2:2222 -N root@localhostが、うまくいきませんでした

例: localhost -5000-> server1 -2222-> server2

答え1

リバーストンネルを作成することで、server1 の localhost:2222 を server2 に結び付けました。ここで、ローカル OSX マシンのポート番号 (この例では 9999 を選択) で server1 へのトンネルを作成し、前に作成したリバーストンネルにアクセスできるようにすることをお勧めします。

ssh -L 9999:localhost:2222 root@server1

これを開いたままにしておくと、サーバー2へのダブルホップが使えるようになります。次に、別のターミナルで、以下を実行できるはずです。

ssh -p 9999 root@localhost

そして server2 にアクセスします。セキュリティ上の理由から、SSH 接続には root を使用しないことをお勧めします。

関連情報