¿Para qué utiliza SSH UDP?


41

Mientras investigaba, noté que SSH usa TCP y UDP. Entiendo completamente el uso de TCP, pero UDP parece un poco extraño. ¿Por qué usaría un protocolo de transporte "poco confiable" con un mínimo reconocimiento para un acceso seguro a la shell?

El único uso que se me ocurre es para SCP, por lo que la transmisión de archivos (grandes). Pero, de nuevo, ¿TCP no sería más útil debido a las cosas de apretón de manos?

De hecho, estoy considerando abrir solo TCP para SSH, pero no saber las implicaciones de eso sería bastante perjudicial.


EDITAR

Resulta que no solo hay una tesis sobre ssh sobre UDP, sino también una implementación ssh completa, llamada mosh . Sin embargo, el ssh clásico todavía solo usa TCP, como se especifica en sus RFC .


2
¿Por qué crees que SSH usa UDP? Lo probé con varias conexiones SSH de Windows a Unix y Unix a Unix y no obtengo un solo paquete UDP en el puerto 22. Además, el servidor solo escucha en TCP.
mtak

1
Bueno, Wikipedia dice tanto en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers. Además, los usuarios en la web parecen canalizar algunas cosas a través de un combo ssh-udp, pero no estaba claro por qué usarían UDP y no TCP. De ahí mi pregunta.
alex

En esta tesis intentaron implementar UDP para el transporte SSH, pero también mencionaron que el valor predeterminado solo usa TCP: ". OpenSSH usa TCP de manera consistente para todas sus conexiones de red y, por lo tanto, para su función VPN". La página de Wikipedia podría decir que es UDP porque los desarrolladores de SSH hicieron una solicitud inicial de asignaciones UDP y TCP, pero el RFC relacionado no lo menciona. Pero tengo que estar de acuerdo, una pregunta interesante.
mtak

Huh No esperaba eso. Bueno, escríbelo como respuesta, te mereces algunos puntos.
alex

Respuestas:


44

Lo probé con varias conexiones SSH de Windows a Unix y Unix a Unix y no obtengo un solo paquete UDP en el puerto 22. Además, el servidor solo escucha en TCP.

En esta tesis intentaron implementar UDP para el transporte SSH, pero también mencionaron que el valor predeterminado solo usa TCP: ". OpenSSH usa TCP de manera consistente para todas sus conexiones de red y, por lo tanto, para su función VPN". La página de Wikipedia podría decir que es UDP porque los desarrolladores de SSH hicieron una solicitud inicial de asignaciones UDP y TCP, pero el RFC relacionado no lo menciona.


5

... El protocolo SSH usa o ha usado 22 / UDP para el control de túneles a través de TCP. Si se decodifica correctamente a través de Wireshark y está haciendo un túnel de una conexión a través de ssh-agent o de forma remota o local, notará que UDP está encapsulado dentro de los segmentos TCP.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.