こんにちは。私は大学のリモートサーバーを使用してリバースSSHトンネルを作成しようとしています。私のラップトップで次のコマンドを実行します。
< home >$ ssh -R 9999:localhost:9190 my_user@school_server.edu
その後、別の端末を開いて実行します。
< home >$ nc -l 9190
トンネルを作成した端末でログインしたら、次を実行します。
< university >$ nc localhost 9999
他のコンピュータで試してみると、リモートサーバーとローカルコンピュータの接続に問題はありませんが、ラップトップではこのようになります。
< university >$ connect_to localhost port 9190: failed.
リモートサーバーでncコマンドを実行するとき。
ラップトップにMacOSとManjaroの両方がインストールされており、両方に問題があるため、ファイアウォールやOSネットワーク構成の問題ではありません。別のネットワークを試してみましたが、問題は解決しません。私はちょうど私の妹のラップトップで同じことをしようとしました、そして私のクラスメートも問題なく働いたので、リモートサーバーは問題になりませんでした。
このような問題が発生する原因は何ですか?ありがとうございます。
編集:非逆方向トンネリングがうまく機能するという事実に言及するのを忘れました。
追加情報:-vフラグを使用して実行すると、接続しようとすると次のように出力されます。
debug1: client_input_channel_open: ctype forwarded-tcpip rchan 3 win 2097152 max 32768
debug1: client_request_forwarded_tcpip: listen localhost port 9999, originator 127.0.0.1 port 34590
debug1: connect_next: host 127.0.0.1 ([127.0.0.1]:9190) in progress, fd=9
debug1: channel 1: new [127.0.0.1]
debug1: confirm forwarded-tcpip
debug1: channel 1: connection failed: Connection refused
connect_to 127.0.0.1 port 9190: failed.
debug1: channel 1: free: 127.0.0.1, nchannels 2
答え1
これは作業順序の問題です。 SSH クライアントは、nc
SSH 接続が確立された後、大学システムのリモートブート前にもホームコンピュータのポート 9190 に先制接続を試みます。この時点でローカルポート9190がリッスンしていない場合、リモート転送設定は失敗します。
したがって、ローカルを実行する必要があります。nc -l 9190
今後代わりにSSH接続を開始してください後ろにそれ。
リモート配信の正確な動作には、OpenSSHバージョン間に違いがある可能性があります。最新バージョンでは、リモート側に何かが接続されるまで、トンネルのローカル拡張を開くことが遅れることがあります。
答え2
localhost
の観点から見たものですschool_server.edu
。だからリモコンで9190に接続しようとしています。
私はあなたがそれをあなたの地域に接続したいと思います。したがって、(100%はわかりません)ホスト名を削除する必要があります。ssh -R 9999:9190 my_user@school_server.edu