SSH トンネルを作り、127.0.0.1 とそのポートをブラウザのプロキシ設定に入れても、何も読み込まれません。リスナーは完全に正常に動作している可能性があります。単に間違った種類のトラフィックを待っているだけかもしれません。

転送ローカルアプリケーションが送るもの宛先の選択
-L対象サービスの通常のプロトコルSSH コマンドで固定
-DSOCKS のネゴシエーション、その後のアプリケーション通信SOCKS クライアントが要求

単一の Web サーバーに対しては、これは固定転送です。

ssh -N -L 127.0.0.1:9080:web.example.com:80 [email protected]

http://127.0.0.1:9080/ を Web サイトとして開いてください。ポート 9080 を SOCKS と呼んではいけません。これはコマンドで指定した 1 台の Web サーバーにバイトを転送します。別のホスト名でサイトを開くと、そのバーチャルホスティング、リダイレクト、Cookie にも影響することがあります。

SOCKS リスナー の場合は形が変わります。

ssh -N -D 127.0.0.1:1080 [email protected]

アプリケーションを 127.0.0.1:1080 で SOCKS を使うように設定します。そのアドレスをブラウザのアドレスバーに直接入力すると、Web リクエストが SOCKS リスナーに送られ、これもまたプロトコルの不一致です。

OpenSSH のマニュアル には両方の形式が記載されています。有用な例外があります。既存の HTTP プロキシを -L で転送すると、固定の宛先自体が HTTP プロキシであるため、HTTP プロキシプロトコルを話すローカルポートができます。固定転送に何が属するかは、遠端のサービスが決めます。既存のプロキシを SSH 経由で転送する ことで、そのプロキシのプロトコルとアカウントが保たれます。

関連記事