Pourquoi SSH utilise-t-il UDP?


41

En faisant des recherches, j'ai remarqué que SSH utilise à la fois TCP et UDP. Je comprends parfaitement l'utilisation de TCP, mais UDP semble un peu étrange. Pourquoi devrais-je utiliser un protocole de transport "non fiable" avec une liaison minimale pour un accès sécurisé au shell?

La seule utilisation à laquelle je peux penser est pour SCP, donc la transmission de fichiers (volumineux). Mais encore une fois, le protocole TCP ne serait-il pas plus utile en raison de la poignée de main?

En fait, je n'envisage que d'ouvrir TCP pour SSH, mais ne pas en connaître les conséquences serait très préjudiciable.


MODIFIER

Il s'avère qu'il n'y a pas seulement une thèse sur ssh sur UDP, mais aussi une implémentation à part entière de ssh, appelée mosh . Cependant, le SSH classique n’utilise toujours que le protocole TCP, comme spécifié dans ses RFC .


2
Pourquoi pensez-vous que SSH utilise UDP? Je l'ai essayé avec plusieurs connexions SSH de Windows vers Unix et Unix vers Unix et je ne reçois pas un seul paquet UDP sur le port 22. De plus, le serveur n'écoute que sur TCP.
mardi

1
Eh bien, Wikipedia en dit autant en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers De plus, les utilisateurs sur le Web semblent dérouter certaines choses à travers un combo ssh-udp, mais on ne savait pas vraiment pourquoi ils utiliseraient UDP et non TCP. D'où ma question.
alex

Dans cette thèse, ils ont essayé d'implémenter UDP pour le transport SSH, mais ils ont également mentionné que le protocole par défaut utilise uniquement le protocole TCP: ". OpenSSH utilise TCP de manière cohérente pour toutes ses connexions réseau et donc pour sa fonctionnalité VPN.". La page Wikipedia pourrait indiquer qu'il s'agit d'un protocole UDP, car les développeurs SSH ont demandé initialement des attributions UDP et TCP, mais le RFC associé n'en fait aucune mention. Mais je suis d'accord, une question intéressante.
mardi

Huh. Je ne m'attendais pas à ça. Eh bien, écrivez cela comme une réponse, vous méritez quelques points.
alex

Réponses:


44

Je l'ai essayé avec plusieurs connexions SSH de Windows vers Unix et Unix vers Unix et je ne reçois pas un seul paquet UDP sur le port 22. De plus, le serveur n'écoute que sur TCP.

Dans cette thèse, ils ont essayé d'implémenter UDP pour le transport SSH, mais ils ont également mentionné que le protocole par défaut utilise uniquement le protocole TCP: ". OpenSSH utilise TCP de manière cohérente pour toutes ses connexions réseau et donc pour sa fonctionnalité VPN.". La page Wikipedia pourrait indiquer qu'il s'agit d'un protocole UDP, car les développeurs SSH ont demandé initialement des attributions UDP et TCP, mais le RFC associé n'en fait aucune mention.


5

... Le protocole SSH utilise ou a utilisé 22 / UDP pour le contrôle de tunneling via TCP. Si vous décodez correctement via Wireshark et que vous tunnelisez une connexion via ssh-agent ou via un tunnel à distance ou localement, vous remarquerez que UDP est encapsulé dans les segments TCP.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.