saída estranha no tunelamento ssh: saída falhou; falha na conexão: o tempo limite da conexão expirou;

18

Eu uso o ssh [email protected] -p 1234 -D 9898comando para tunelamento e defino o firefox socks5 ip como 127.0.0.1 e sua porta como 9898. Funciona com êxito, mas no terminal tenho erro na saída:

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

Isso ocorre periodicamente. O que é isso? Isso é um problema? O que eu posso fazer?

Arash Mousavi
fonte

Respostas:

21

Eu tive problemas semelhantes. Se você estiver encapsulando o Firefox através do ssh, algumas conexões http podem simplesmente atingir o tempo limite devido à carga do servidor ou a uma configuração incorreta. Quando a conexão realmente atingir o tempo limite, você receberá uma mensagem de erro como a que você indicou.

Você pode suprimir essas mensagens com o seguinte comando

ssh [email protected] -p 1234 -D 9898 -q

Na página do manual ssh(1)

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

Suprimir a mensagem impedirá que os avisos atrapalhem suas sessões de ssh ou tela.

Gordolio
fonte
Obrigado, esta solução funciona muito bem! Uma pergunta: esse tempo limite ocorre periodicamente, mesmo quando todos os processos do navegador estão fechados. Estou tentando determinar o que está causando o tempo limite e para onde a solicitação está sendo enviada. alguma sugestão sobre como exibir informações de erro mais detalhadas para o túnel ssh?
Gnarbarian #
3

Defina o GatewayPortspara yese tente novamente.

ssh -o 'GatewayPorts yes' [email protected] -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”.
quanta
fonte
11
Eu uso -o 'GatewayPorts yes', mas esse erro ocorreu novamente.
Arash Mousavi
GatewayPorts não é o problema. As portas de gateway permitem que o servidor ssh ouça portas não locais. O GatewayPorts se torna muito útil ao fazer um túnel reverso - permitindo que os hosts da rede privada se conectem novamente ao host do cliente ssh. Gordolio está logo acima: o servidor SOCKS iniciado pelo ssh local está reclamando quando não consegue acessar o host / porta solicitada pelos usuários do cliente SOCKS (como no exemplo de Gordolio, Firefox).
Mark