LINUX.ORG.RU

ssh from udp


0

1

Два компа соеденены в сеть.
Имеют адреса 192.168.0.1 и 192.168.0.101.
SSH server настроен на 192.168.0.1 на 22 порту.
Необходимо соединиться с сервером по UDP.

Ответ на: комментарий от makfloy

>На мысль натолкнули строчки в /etc/services:

ssh 22/tcp # SSH Remote Login Protocol

ssh 22/udp



И чо? Это значит, что ssh по udp работает, да? Ололо!

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

Хм. А может как то можно прокинуть tcp пакеты на udp??
А дальше пусть они себе идут по udp на сервер..?

makfloy
() автор топика

SSH - шифрующий протокол, поэтому потеря данных недопустима. TCP гарантирует целостность передаваемых данных, а UDP - нет; поэтому SSH по UDP работать не будет.

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

Да пусть себе шифрует данные. Можно же сделать вот так:
1. 555:tcp -> 22:udp
2. ssh login@server -p 555

Будет ли такое работать? И если да, то как выполнить п.1?

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

Шифровать-то он шифрует, но если целостность данных не гарантирована (потерялся пакет, пакеты пришли не в том порядке), то в процессе расшифровки произойдет ошибка, и усе, приехали.

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

Потеря пакетов допустима. Ничего страшного. А вот каким образом пакеты могут придти не в том порядке, это я не понимаю. К тому же, в пакеты будет уже заложена информация о восстановлении пакетов при пользовании SSH. В данном случае udp соединение - лишь канал связи же. M?

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

Это для вас она допустима, для SSH - нет :). Ну не сможет он расшифровать данные, если потеряет пакет.

> А вот каким образом пакеты могут придти не в том порядке, это я не понимаю.

Все возможно в этом мире. Пошли пакеты через разные маршрутизаторы, и пришли к целевому компьютеру уже в другом порядке, например.

> К тому же, в пакеты будет уже заложена информация о восстановлении пакетов при пользовании SSH.

В пакеты заложена некоторая избыточная информация, позволяющая восстановить пакет при некотором, не очень большом, количестве инвертированных битов. Или не весь пакет, а только заголовок, все зависит от протокола. И такая избыточность на нескольких уровнях - на уровне IP, на уровне TCP/UDP, на уровне SSH, etc.

> В данном случае udp соединение - лишь канал связи же.

Нет, в данном случае UDP-соединения нет, потому что ssh будет создавать TCP-соединение. Но ничто не мешает ему создавать это соединение внутри тоннеля, созданного с использованием UDP, ему просто не нужно это знать (да и не будет он знать).

tiandrey ★★★★★
()

Не получится. Но не нужно расстраиваться! Ведь можно соединиться по UDP с каким-нибудь другим сервером. Например, PPTP.

thesis ★★★★★
()
Ответ на: комментарий от makfloy
nc -u -l 22 > /tmp/fifo | nc -l 6667 < /tmp/fifo

Не вдаваясь в подробности работы nc, сразу можно сказать, что не взлетит, ибо одновременно только одно перенаправление ввода/вывода, а вы делаете и перенаправление в файл/из файла, и пайп. Нужно запускать в разных консолях, либо так:

nc -u -l 22 > /tmp/fifo &
nc -l 6667 < /tmp/fifo &
Последний амперсанд можно опустить, но это не важно.

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

И «обмануть» ssh, предлагая ему udp-listener на 22 порту, не получится, ибо все обломится в момент создания TCP-сессии.

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