
コンピュータは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 を使用しないことをお勧めします。