A、B、Cのチェーンで接続された3台のマシンがあります。
A-->B-->C
Aは私のマシン、Bはサーバー、CはいくつかのサービスとWebサーバーを備えた他のマシンです。 AからC(ポート80)のWebサーバーにアクセスする必要があるいくつかの問題があるため、sshを使用してAからBにログインし、次にBからCにログインできますが、現時点ではコンソールが少なすぎます。 Webブラウザーが必要ですが、オプション-X
でsshを使用しても機能しませんでした(Firefoxの起動時のdbusに関するいくつかの問題)。
クラシックコマンドを使用してBでポート転送を行い、ssh用に22ポートを転送します。
ssh -L 2222:localhostB:22 user@ipC
しかし、同じものを使用してポート80を転送しても機能しませんでした。
ssh -L 8888:localhostB:80 user@ipC
それを機能させるために他の転送があることは知っていますが、どのようにそして何を理解していませんでした。
私はこのようなものが必要です:
A --> B (frd from B:8888 to C:80) --> C (port 80 web server)
そのため、ipB:8888と入力すると、C:80に転送されます。
何をしなければならないかを説明するような助け、またはコマンド付きのスクリプトをいただければ幸いです。あるブログから、ssh -L
転送を2回実行する必要があることに気付きましたが、その理由がわかりませんでした。
あなたは正しい方向に進んでいます。
Aについて:
ssh -L 8888:ipC:80 user@ipB -N
Aのlocalhost:8888を介してCのWebサーバーにアクセスできるようになります
OPリクエストでもう少し詳細:
あなたの質問から、A上のCのWebサーバーにアクセスしたいと思いました(A上にWebブラウザーを備えたGUI環境があると思います)。
(何らかの理由で)Cに直接アクセスすることはできませんが、Bにアクセスできます。BはCにアクセスできます。そこで、AとBの間にトンネルを作成し、トンネルの端をCのWebサーバーに接続するようにBに要求します。