дивний вихід на 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

У мене виникли подібні проблеми. Якщо ви налаштовуєте на Firefox через ssh, деякі 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

Встановіть GatewayPortsдля yesі спробуйте ще раз.

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 так", але ця помилка повторилася.
Араш Мусаві

GatewayPorts не проблема. Порти шлюзу дозволяють серверу ssh прослуховувати не локальні порти. GatewayPorts стає дуже корисним, коли роблять зворотний тунель - дозволяють хостам з приватної мережі підключитися назад до хосту клієнта ssh. У Gordolio є справа вище: сервер SOCKS, запущений локальним ssh, скаржиться, коли він не може дістатися до хоста / порту, про який вимагають клієнтські користувачі SOCKS (як у прикладі Gordolio, Firefox).
Марк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.