LINUX.ORG.RU

ssh тунелинг


0

0

Здравствуйте!

Подскажите, плз, чего я недопонимаю. Смотрю здесь: http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwar... -- вроде все делаю правильно... Хочу настроить тунелинг для HTTP между двумя машинами (linux и freebsd соответственно) через ssh.

Делаю это следующим образом:

linux@lunc:~$ ssh -2 -L 1234:localhost:6661 lunc@freebsd freebsd@lunc|~$

после этого Firefox'ом на linux делаю запрос: "http://localhost:1234/". Через tcpdump вижу, что между клиентом и сервером ничего не шифруется:

linux@root# tcpdump -X -s 128 -v port 6661 ........ 19:47:07.980462 IP (tos 0x0, ttl 64, id 62776, offset 0, flags [DF], proto: TCP (6), length: 738) linux.58163 > freebsd.6661: P 1:699(698) ack 1 win 5840 0x0000: 4500 02e2 f538 4000 4006 fb98 d5b4 da5d E....8@.@......] 0x0010: d5b4 c17d e333 1a05 c10f d1c5 157f a1e0 ...}.3.......... 0x0020: 5018 16d0 9695 0000 4745 5420 2f69 6d61 P.......GET./ima 0x0030: 6765 732f 6172 722d 622e 6769 6620 4854 ges/arr-b.gif.HT 0x0040: 5450 2f31 2e31 0d0a 486f 7374 3a20 6172 TP/1.1..Host:.ar 0x0050: 632e 7961 6e64 6578 2e72 753a 3636 3631 c.yandex.ru:6661 0x0060: 0d0a 5573 6572 2d41 6765 6e74 3a20 4d6f ..User-Agent:.Mo

Вот, что показывает ntstat: linux@root# netstat -ap --tcp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 localhost:1234 *:* LISTEN 10890/ssh tcp 0 0 localhost:44995 localhost:1234 ESTABLISHED 4210/firefox-bin tcp 0 0 localhost:1234 localhost:44995 ESTABLISHED 10890/ssh tcp 0 0 linux:58163 freebsd:6661 ESTABLISHED 4210/firefox-bin tcp 0 0 linux:50027 freebsd:ssh ESTABLISHED 10890/ssh


извиняюсь за форматирование. Снова:

Подскажите, плз, чего я недопонимаю. Смотрю здесь: http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwardin
g.html -- вроде все делаю правильно... Хочу настроить тунелинг для HTTP между двумя машинами (linux и freebsd соответственно) через ssh.

Делаю это следующим образом:

linux@lunc:~$ ssh -2 -L 1234:localhost:6661 lunc@freebsd
freebsd@lunc|~$

после этого Firefox'ом на linux делаю запрос: "http://localhost:1234/". Через tcpdump вижу, что между клиентом и сервером ничего не шифруется:

linux@root# tcpdump -X -s 128 -v port 6661
........
19:47:07.980462 IP (tos 0x0, ttl  64, id 62776, offset 0, flags [DF],
proto: TCP (6), length: 738) linux.58163 > freebsd.6661: P 1:699(698)
ack 1 win 5840
0x0000:  4500 02e2 f538 4000 4006 fb98 d5b4 da5d  E....8@.@......]
0x0010:  d5b4 c17d e333 1a05 c10f d1c5 157f a1e0  ...}.3..........
0x0020:  5018 16d0 9695 0000 4745 5420 2f69 6d61  P.......GET./ima
0x0030:  6765 732f 6172 722d 622e 6769 6620 4854  ges/arr-b.gif.HT
0x0040:  5450 2f31 2e31 0d0a 486f 7374 3a20 6172  TP/1.1..Host:.ar
0x0050:  632e 7961 6e64 6578 2e72 753a 3636 3631  c.yandex.ru:6661
0x0060:  0d0a 5573 6572 2d41 6765 6e74 3a20 4d6f  ..User-Agent:.Mo

Вот, что показывает ntstat:
linux@root# netstat -ap --tcp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address  Foreign Address  State  PID/Program
name
tcp 0 0 localhost:1234  *:*  LISTEN  10890/ssh
tcp 0 0 localhost:44995  localhost:1234  ESTABLISHED 4210/firefox-bin
tcp 0 0 localhost:1234  localhost:44995  ESTABLISHED 10890/ssh
tcp 0 0 linux:58163     freebsd:6661      ESTABLISHED  4210/firefox-bin
tcp 0 0 linux:50027     freebsd:ssh       ESTABLISHED  10890/ssh

lunc
() автор топика
Ответ на: комментарий от lunc

Ну вы даёте, блин! Шифруется траффик от вашего ssh до серверного sshd, который висит на 22-м порту, вот 22-й порт и слушайте tcpdump'ом. А локальный траффик от sshd до чего-то-там на 6661-м порту не шифруется и не должен. :)

ero-sennin ★★
()
Ответ на: комментарий от ero-sennin

Дык HTTP сервер и висит на 6661-м порту, то есть мне нужно шифровать http-траффик между моей машиной и сервером.

lunc
() автор топика
Ответ на: комментарий от lunc

Насколько я понял, Вы еще одно соединение открыли напрямую (без ssh):
tcp 0 0 linux:58163 freebsd:6661 ESTABLISHED 4210/firefox-bin

Его то и показывает tcpdump, так как это:
linux.58163 > freebsd.6661
показывает, что незашифрованный трафик идет с локальной машины на удаленную.

С локальной машины вообще не должно быть connect() на порт 6661 и tcpdump не должен показать ничего. Соединяться с портом 6661 будет демон sshd на удаленной машине.







Chumka ★★★
()
Ответ на: комментарий от Chumka

В этом и вопрос! Я делаю http запрос на _localhost_, я не открываю прямого соединения с сервером!

Насколько понимаю форвардинг в моем случае работет следующим образом:

localhost -(ssh)-> sshd_host -(open)-> http_server (тое есть, траффик шифруется только между localhost и sshd_host). Попробовал:

linux@lunc:~$ssh -N -f -L 1234:freebsd:6661 freebsd

тот же результат. Что я делаю не так????

lunc
() автор топика
Ответ на: комментарий от lunc

мдя. попробуй вербосность увеличить, или включить оноев режиме дебага, може чего-нибудь видно будет...

Valmont ★★★
()
Ответ на: комментарий от lunc

Да по-любому это прямой коннект к freebsd:6661 GET./images/arr-b.gif HTTP/1.1 Host: arc.yandex.ru

вопрос в том, кто его организовывает. (скорее всего в документе идет direct url на картинку) Дело в этом запросе, основной трафик у Вас должен шифроваться. Попробуйте в качестве индексной страницы такую: <h1>Hello world!</h1>

думаю, тогда все понятно будет

Chumka ★★★
()
Ответ на: комментарий от Chumka

Да, и я чего-то не подумал о таком простой варианте :)

Valmont ★★★
()
Ответ на: комментарий от Chumka

>вопрос в том, кто его организовывает. (скорее всего в документе идет >direct url на картинку) Дело в этом запросе, основной трафик у Вас >должен шифроваться. Попробуйте в качестве индексной страницы такую: ><h1>Hello world!</h1>

Ага, большое спасибо!

Сделал тоже самое с двумя неткатами -- все OK!

lunc
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.