SSH接続にポート8080を使用せずにサーバーのポート8080にアクセスする

SSH接続にポート8080を使用せずにサーバーのポート8080にアクセスする

私はブラウザで対話できるプログラムを実行しています。これを行うには、プログラムを実行してブラウザで「localhost:8080」を開きます(8080が正しいポートの場合)。

しかし、私はサーバー上でプログラムを実行しており、SSH接続を介して自分のブラウザを使用して自分のコンピュータからそのプログラムにアクセスしようとしています。これは、プログラムが使用するSSH接続で同じポートを使用する必要があることを意味します。しかし、それはうまくいきません。私の理論は、プログラムとSSH接続がポートのために戦っているということです。

つまり、私の質問は次のようになります。 SSH接続にポート8080を使用せずにサーバーのポート8080にどのようにアクセスしますか?

追加の注意:SSH接続でX転送(-Xオプション)を使用し、サーバー上でブラウザを実行してみました。これはうまくいきますが、非常に遅いです。

ベストアンサー1

sshリモートサーバーでブラウザを実行する代わりに、トンネルを使用してローカルポートをリモートサーバーのローカルポートに転送します。

localhost:8080リモートホストにポート8080があると仮定すると、このコマンドはローカルシステムに着信ポート8080(最初のポート)を作成し、そのポートへのすべての接続をトンネリングしてlocalhost:8080実行します。リモートホストのコンテキストで- つまり、remote_host自体のポート8080です。セッションが端末で開いていることを確認する-fには、sshにバックグラウンドで実行し続けるように指示します。ssh

local$ ssh -f -L localhost:8080:localhost:8080 remote_host
local$ firefox http://localhost:8080/

おすすめ記事