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 또는 화면 세션을 망칠 수 없습니다.


이 솔루션이 훌륭하게 작동합니다. 한 가지 질문 :이 시간 초과는 모든 브라우저 프로세스가 종료 된 경우에도 주기적으로 발생합니다. 시간 초과의 원인과 요청이 전송되는 위치를 확인하려고합니다. ssh 터널에 대한 더 자세한 오류 정보를 표시하는 방법에 대한 제안 사항이 있습니까?
gnarbarian

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'를 사용하지만이 오류가 다시 발생했습니다.
Arash Mousavi 님이

GatewayPorts는 문제가 아닙니다. 게이트웨이 포트를 사용하면 ssh 서버가 로컬이 아닌 포트를 청취 할 수 있습니다. 개인 네트워크의 호스트가 ssh 클라이언트 호스트에 다시 연결할 수 있도록 역방향 터널을 수행 할 때 GatewayPorts가 매우 유용합니다. Gordolio는 바로 위에 있습니다. 로컬 ssh에서 시작한 SOCKS 서버는 SOCKS 클라이언트 사용자가 요청한 호스트 / 포트에 도달 할 수 없을 때 (Gordolio의 예에서 Firefox와 같이) 불평합니다.
Mark
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.