Скидання з’єднання при спробі тунелювання http / шкарпеток за допомогою multi-hop ssh


1

Задіяні машини: (клієнт) A - B - C (вихід)
A / B - cygwin ssh / sshd, C - Linux

Що я хочу:

  1. Http (и) http і носки трафіку тунелюються через B, C.
    Пункт призначення - це будь-який IP, тому лише L не працює.

  2. Трафік A - B, B - C повинен бути зашифрований. (Тому я намагаюся використовувати ssh)

Що я зробив налаштування:

  1. Проксі-сервер (3proxy) працює на C: http (s) на 3998, socks5 на 3999.
    Я протестував проксі-сервер. працює як для 127.0.0.1, так і для зовнішнього IP.

  2. команда ssh на A: (я хочу переслати локальне: 3998 до C: 3998, локальне: 3999 до C: 3999)
    ssh -At -L 3998: B: 6998 користувачB @ B ssh -At -L 6998: C: 3998 userC @C
    ssh -At -L 3999: B: 6999 userB @ B ssh -At -L 6999: C: 3999 userC @ C
    Я перевірив реєстрацію мульти-хоп: працює.

  3. Використовуйте 127.0.0.1:3998 як http (s) проксі. Використовуйте 127.0.0.1:3999 як проксі-шкарпетки.

Проблема:
Firefox не працює ні з http, ні з шкарпетками, скаржачись, що з'єднання скидається.
(cygwin) wget не працює з http

Повідомлення про помилку типу "канал 8: відкрито не вдалося: з'єднання не вдалося: з'єднання відмовлено" відображається на консолі ssh C.

Деталі з -vvv:

on A:
   $ export http_proxy=http://127.0.0.1:3998; wget www.bing.com
   --2014-04-13 08:54:14--  http://www.bing.com/
   Connecting to 127.0.0.1:3998... connected.
   Proxy request sent, awaiting response... Read error (Connection reset by peer) in        headers.
   Retrying.

on C:
   root@C:~# debug1: Connection to port 3998 forwarding to B port 6998 requested.
   debug2: fd 9 setting TCP_NODELAY
   debug3: fd 9 is O_NONBLOCK
   debug3: fd 9 is O_NONBLOCK
   debug1: channel 3: new [direct-tcpip]
   channel 3: open failed: connect failed: Connection refused
   debug2: channel 3: zombie
   debug2: channel 3: garbage collecting
   debug1: channel 3: free: direct-tcpip: listening port 3998 for B port 6998, connect
    from 127.0.0.1 port 65460 to 127.0.0.1 port 3998, nchannels 4
   debug3: channel 3: status: The following connections are open:
     #2 client-session (t4 r0 i0/0 o0/0 fd 6/7 cc -1)

Я також спробував переадресувати лише на C:

(one tty) ssh -vvv -L 127.0.0.1:1234:127.0.0.1:3998 root@127.0.0.1
(another tty) export http_proxy=http://127.0.0.1:3998; wget www.bing.com

Це спрацювало, і я навіть розгублений, чому це не спрацювало в моїх налаштуваннях.

===================================================== ================================
Якщо я використовую цю команду, то вона працює ?!

ssh -At -L 3998:127.0.0.1:6998 userB@B ssh -At -L 6998:127.0.0.1:3998 userC@C

Але це не працює

ssh -At -L 3998:ip_of_B:6998 userB@B ssh -At -L 6998:ip_of_C:3998 userC@C
ssh -At -L 3998:ip_of_B:6998 userB@B ssh -At -L 6998:127.0.0.1:3998 userC@C

Може хтось мені це пояснить?

Я поняття не маю, як opensh реалізує -L, щоб він поводився так дивно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.