Para que o SSH usa o UDP?

37

Enquanto pesquisava, notei que o SSH usa TCP e UDP. Eu entendo completamente o uso do TCP, mas o UDP parece um pouco estranho. Por que eu usaria um protocolo de transporte "não confiável" com handshaking mínimo para acesso seguro ao shell?

O único uso que consigo pensar é no SCP, para transmissão de arquivos (grande). Mas, novamente, o TCP não seria mais útil por causa do material de handshake?

Na verdade, estou pensando em abrir apenas o TCP para SSH, mas não saber as implicações disso seria bastante prejudicial.


EDITAR

Acontece que não há apenas uma tese sobre ssh sobre o UDP, mas também uma implementação ssh completa, chamada mosh . No entanto, o ssh clássico ainda usa apenas o TCP, conforme especificado em suas RFCs .

alex
fonte
2
Por que você acha que o SSH usa UDP? Eu tentei com várias conexões SSH do Windows para o Unix e do Unix para o Unix e não recebo um único pacote UDP na porta 22. Além disso, o servidor apenas escuta no TCP.
Mtak #
11
Bem, a Wikipedia diz tanto en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Além disso, os usuários na Web parecem encapsular algumas coisas através de uma combinação ssh-udp, mas não ficou claro por que eles usariam UDP e não TCP. Daí a minha pergunta.
Alex
Nesta tese, eles tentaram implementar o UDP para o transporte SSH, mas também mencionaram que o padrão usa apenas o TCP: ". O OpenSSH está usando o TCP de forma consistente para todas as suas conexões de rede e, portanto, para o recurso de VPN". A página da Wikipedia pode dizer que é UDP porque os desenvolvedores do SSH fizeram uma solicitação inicial para atribuições de UDP e TCP, mas a RFC relacionada não faz nenhuma menção a ela. Mas tenho que concordar, uma pergunta interessante.
mtak
Hã. Não esperava isso. Bem, escreva isso como resposta, você merece alguns pontos.
Alex

Respostas:

41

Eu tentei com várias conexões SSH do Windows para o Unix e do Unix para o Unix e não recebo um único pacote UDP na porta 22. Além disso, o servidor apenas escuta no TCP.

Nesta tese, eles tentaram implementar o UDP para o transporte SSH, mas também mencionaram que o padrão usa apenas o TCP: ". O OpenSSH está usando o TCP de forma consistente para todas as suas conexões de rede e, portanto, para o recurso de VPN". A página da Wikipedia pode dizer que é UDP porque os desenvolvedores do SSH fizeram uma solicitação inicial para atribuições de UDP e TCP, mas a RFC relacionada não faz nenhuma menção a ela.

mtak
fonte
5

... O protocolo SSH usa ou usou 22 / UDP para o controle de tunelamento através do TCP. Se decodificado corretamente via Wireshark e você estiver encapsulando uma conexão via ssh-agent ou encapsulando remotamente ou localmente, você perceberá que o UDP está encapsulado nos segmentos TCP.

O usuário raiz
fonte