35

Когда я проводил исследования, я заметил, что SSH использует TCP и UDP. Я полностью понимаю использование TCP, но UDP кажется немного странным. Зачем мне использовать "ненадежный" транспортный протокол с минимальным подтверждением связи для безопасного доступа к оболочке?

Единственное использование, которое я могу придумать, это SCP, поэтому (большая) передача файлов. Но опять же, не будет ли TCP более полезным из-за рукопожатия?

На самом деле, я рассматриваю только открытие протокола TCP для SSH, но не знаю, какие последствия это может иметь пагубные последствия.


РЕДАКТИРОВАТЬ

Оказывается, что есть не только тезис о ssh через UDP, но и полноценная ssh-реализация, называемая mosh. Однако классический ssh все еще использует только TCP, как указано в его RFC.

2 ответа2

40

Я попробовал это с несколькими SSH-соединениями из Windows в Unix и из Unix в Unix, и я не получил ни одного UDP-пакета на порту 22. Также сервер слушает только по TCP.

В этом тезисе они попытались реализовать UDP для транспорта SSH, но также отметили, что по умолчанию используется только TCP: ". OpenSSH последовательно использует TCP для всех своих сетевых подключений и, следовательно, для своей функции VPN. " На странице Википедии может быть сказано, что это UDP, потому что разработчики SSH сделали первоначальный запрос на назначения UDP и TCP, но соответствующий RFC не упоминает об этом.

4

... Протокол SSH использует или использовал 22/UDP для управления туннелированием через TCP. Если правильно декодировать через Wireshark и вы туннелируете соединение через ssh-agent или туннелируете удаленно или локально, вы заметите, что UDP инкапсулирован в сегментах TCP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .