SSH -L 接続は成功しましたが、ローカルホストのポート転送が機能していません。「チャネル 3: オープンに失敗しました: 接続に失敗しました: 接続が拒否されました」質問する

SSH -L 接続は成功しましたが、ローカルホストのポート転送が機能していません。「チャネル 3: オープンに失敗しました: 接続に失敗しました: 接続が拒否されました」質問する

私の研究室では、サーバー上で RStudio を実行しています。数週間前、いとこの家からサーバーに ssh で接続し、ローカルの Firefox ブラウザーでサーバー側の RStudio を起動することに成功しました。今、自宅から (自分のルーター経由で) サーバーの RStudio にアクセスしようとしても、機能しません。トラブルシューティングが必要です。ルーターに問題があるのではないかと考えています。Mac OSX 10.6.8 を実行しています。大学のサーバーが何を実行しているのかわかりませんが、サーバー側の問題ではないと思います。

いとこの家で初めてやったときのやり方は次のとおりです。まず、大学のネットワークに VPN で接続します。次に、ポート転送を使用して SSH を呼び出します。次に、Firefox ブラウザーを開いて、ローカルホストのポートに接続します。すると、サーバー側で RStudio が開き、ローカル ブラウザー ウィンドウからアクセスできるようになります。

現在、自宅のネットワークからログインしようとすると、次のような問題が発生します。

VPN 接続を正常に行うことができます。次のコマンドで SSH を正常に設定することもできます。ssh -v -L 8783:localhost:8783 [email protected]

以下は、成功した ssh コマンドからの詳細出力の最後の数行です。

debug1: Authentication succeeded (password).
debug1: Local connections to LOCALHOST:8783 forwarded to remote address localhost:8783
debug1: Local forwarding listening on 127.0.0.1 port 8783.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on ::1 port 8783.
debug1: channel 1: new [port listener]
debug1: channel 2: new [client-session]
debug1: Entering interactive session.
Last login: Mon Sep  2 04:02:40 2013 from vpnipaddress

したがって、VPN と SSH の段階ではまだ成功していると思います (ただし、それ以降に数回ログインしているのに、最後のログインが 9 月 2 日と表示されるのはなぜかわかりません)。

次に、Firefox を開いて localhost:8783 と入力すると、ブラウザ ウィンドウから RStudio サーバー アプリが取得される代わりに、次のエラーが表示されます。

Firefox ブラウザ ウィンドウに、「サーバーが見つかりません。Firefox は www.localhost.com でサーバーを見つけることができません。アドレスに入力エラーがないか確認してください。」などのメッセージが表示されます。

ターミナルウィンドウには次のように表示されます:

debug1: Connection to port 8783 forwarding to localhost port 8783 requested.
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: connect failed: Connection refused
debug1: channel 3: free: direct-tcpip: listening port 8783 for localhost port 8783, connect from 127.0.0.1 port 50420, nchannels 4

何が間違っているのかよくわかりません。前回の接続成功以来、ラップトップでは何も変更していません。自分のルーター (いとこのルーターではなく) を使用しているので、ファイアウォールをいじる必要があるかもしれません。すでにポート 22 と 8783 がファイアウォールを通過してラップトップにアクセスできるようにしています (ただし、そうする必要があったかどうかはわかりません)。助けてください。

ベストアンサー1

ssh -v -L 8783:localhost:8783 [email protected]
...
channel 3: open failed: connect failed: Connection refused

ローカルシステムのポート8783に接続すると、その接続はSSHリンクを介してSSHサーバーにトンネルされます。サーバー.comそこから、ssh サーバーはローカルホストのポート 8783 に TCP 接続し、トンネル接続とトンネルのターゲットへの接続の間でデータを中継します。

「接続拒否」エラーは、server.com の ssh サーバーがトンネルのターゲットに TCP 接続しようとしたときに発生します。「接続拒否」は、接続の試みが拒否されたことを意味します。拒否の最も単純な説明は、server.com で、localhost ポート 8783 で接続をリッスンしているものが何もないことです。言い換えると、トンネルしようとしていたサーバー ソフトウェアが実行されていないか、実行されていてもそのポートでリッスンしていないということです。

おすすめ記事