sshトンネリングに関する奇妙な出力:出力に失敗しました。接続に失敗しました:接続がタイムアウトしました。


18

ssh user@xx.yy.zz.41 -p 1234 -D 9898トンネリングにコマンドを使用し、firefox socks5 ipを127.0.0.1に、ポートを9898に設定しました。正常に動作しますが、端末では出力にエラーがあります。

channel 39: open failed: connect failed: Connection timed out
channel 41: open failed: connect failed: Connection timed out
channel 42: open failed: connect failed: Connection timed out
channel 43: open failed: connect failed: Connection timed out
channel 44: open failed: connect failed: Connection timed out

定期的に発生します。これは何ですか?それって問題ですか?私に何ができる?

回答:


21

同様の問題が発生しました。sshを介してFirefoxでトンネリングしている場合、一部のhttp接続は、サーバーの負荷または不適切な構成のために単にタイムアウトする可能性があります。接続が実際にタイムアウトになると、指定したようなエラーメッセージが表示されます。

次のコマンドでこれらのメッセージを抑制することができます

ssh user@xx.yy.zz.41 -p 1234 -D 9898 -q

マニュアルページから ssh(1)

 -q      Quiet mode.  Causes most warning and diagnostic messages to be sup-
         pressed.

メッセージを抑制することにより、警告がsshまたはスクリーンセッションを台無しにするのを防ぎます。


このソリューションがうまく機能してくれてありがとう!1つの質問:このタイムアウトは、すべてのブラウザープロセスが閉じられている場合でも定期的に発生します。タイムアウトの原因とリクエストの送信先を特定しようとしています。sshトンネルのより詳細なエラー情報を表示する方法に関する提案はありますか?
nar族

3

を設定しGatewayPortsyes再試行してください。

ssh -o 'GatewayPorts yes' user@xx.yy.zz.41 -p 1234 -D 9898

man ssh_config

 DynamicForward
         Specifies that a TCP port on the local machine be forwarded over the secure channel, and the application protocol
         is then used to determine where to connect to from the remote machine.

         The argument must be [bind_address:]port.  IPv6 addresses can be specified by enclosing addresses in square
         brackets.  By default, the local port is bound in accordance with the GatewayPorts setting.  However, an explicit
         bind_address may be used to bind the connection to a specific address.  The bind_address of “localhost” indicates
         that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should
         be available from all interfaces.

         Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh(1) will act as a SOCKS server.  Multiple for‐
         wardings may be specified, and additional forwardings can be given on the command line.  Only the superuser can
         forward privileged ports.

 GatewayPorts
         Specifies whether remote hosts are allowed to connect to local forwarded ports.  By default, ssh(1) binds local
         port forwardings to the loopback address.  This prevents other remote hosts from connecting to forwarded ports.
         GatewayPorts can be used to specify that ssh should bind local port forwardings to the wildcard address, thus
         allowing remote hosts to connect to forwarded ports.  The argument must be “yes” or “no”.  The default is “no”.

1
-o 'GatewayPorts yes'を使用しますが、このエラーが再度発生しました。
アラシュムサビ

GatewayPortsは問題ではありません。ゲートウェイポートにより、sshサーバーは非ローカルポートをリッスンできます。GatewayPortsは、リバーストンネルを実行するときに非常に役立ちます-プライベートネットワークからのホストがsshクライアントホストに接続できるようにします。Gordolioはそのすぐ上にあります:ローカルsshによって起動されたSOCKSサーバーは、SOCKSクライアントユーザーが要求したホスト/ポートに到達できない場合に不平を言っています(Gordolioの例、Firefoxなど)。
マーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.