Когда я проводил исследования, я заметил, что SSH использует TCP и UDP. Я полностью понимаю использование TCP, но UDP кажется немного странным. Зачем мне использовать «ненадежный» транспортный протокол с минимальным подтверждением связи для безопасного доступа к оболочке?
Единственное использование, которое я могу придумать, это SCP, поэтому (большая) передача файлов. Но опять же, не будет ли TCP более полезным из-за рукопожатия?
На самом деле, я рассматриваю только открытие протокола TCP для SSH, но не знаю, какие последствия это может иметь пагубные последствия.
РЕДАКТИРОВАТЬ
Оказывается, есть не только тезис о ssh через UDP, но и полноценная ssh-реализация, называемая mosh . Однако классический ssh все еще использует только TCP, как указано в его RFC .
Ответы:
Я пробовал это с несколькими SSH-соединениями из Windows в Unix и Unix в Unix, и я не получаю ни одного UDP-пакета на порту 22. Также сервер слушает только TCP.
В этом тезисе они попытались реализовать UDP для транспорта SSH, но также отметили, что по умолчанию используется только TCP: «. OpenSSH последовательно использует TCP для всех своих сетевых подключений и, следовательно, для своей функции VPN». На странице Википедии может быть сказано, что это UDP, потому что разработчики SSH сделали первоначальный запрос на назначения UDP и TCP, но соответствующий RFC не упоминает об этом.
источник
... Протокол SSH использует или использовал 22 / UDP для управления туннелированием через TCP. Если правильно декодировать через Wireshark и вы туннелируете соединение через ssh-agent или туннелируете удаленно или локально, вы заметите, что UDP инкапсулирован в сегментах TCP.
источник