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 .
Respostas:
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.
fonte
... 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.
fonte