Per cosa usa SSH UDP?


41

Durante le ricerche ho notato che SSH utilizza sia TCP che UDP. Capisco perfettamente l'uso di TCP, ma UDP sembra un po 'strano. Perché dovrei usare un protocollo di trasporto "inaffidabile" con un handshaking minimo per un accesso sicuro alla shell?

L'unico uso che mi viene in mente è per SCP, quindi (grande) trasmissione di file. Ma ancora una volta, TCP non sarebbe più utile a causa delle cose di handshaking?

In effetti, sto prendendo in considerazione solo l'apertura di TCP per SSH, ma non conoscerne le implicazioni sarebbe del tutto dannoso.


MODIFICARE

Si scopre che non esiste solo una tesi su SSH su UDP, ma anche un'implementazione ssh a tutti gli effetti, chiamata mosh . Tuttavia, il classico ssh utilizza ancora solo TCP, come specificato nei suoi RFC .


2
Perché pensi che SSH usi UDP? L'ho provato con diverse connessioni SSH da Windows a Unix e da Unix a Unix e non ho un singolo pacchetto UDP sulla porta 22. Inoltre il server è in ascolto solo su TCP.
martedì

1
Bene, Wikipedia dice tanto en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Inoltre, gli utenti sul web sembrano incanalare alcune cose attraverso una combo ssh-udp, ma non era chiaro il motivo per cui avrebbero usato UDP e non TCP. Da qui la mia domanda.
alex,

In questa tesi hanno cercato di implementare UDP per il trasporto SSH, ma menzionano anche che il valore predefinito utilizza solo TCP: ". OpenSSH utilizza costantemente il TCP per tutte le sue connessioni di rete e quindi per la sua funzionalità VPN". La pagina di Wikipedia potrebbe dire che è UDP perché gli sviluppatori SSH hanno fatto una richiesta iniziale per assegnazioni UDP e TCP, ma la relativa RFC non ne fa menzione. Ma devo essere d'accordo, una domanda interessante.
martedì

Huh. Non me l'aspettavo. Bene, scrivilo come risposta, meriti alcuni punti.
alex,

Risposte:


44

L'ho provato con diverse connessioni SSH da Windows a Unix e da Unix a Unix e non ho un singolo pacchetto UDP sulla porta 22. Inoltre il server è in ascolto solo su TCP.

In questa tesi hanno cercato di implementare UDP per il trasporto SSH, ma menzionano anche che il valore predefinito utilizza solo TCP: ". OpenSSH utilizza costantemente il TCP per tutte le sue connessioni di rete e quindi per la sua funzionalità VPN". La pagina di Wikipedia potrebbe dire che è UDP perché gli sviluppatori SSH hanno fatto una richiesta iniziale per assegnazioni UDP e TCP, ma la relativa RFC non ne fa menzione.


5

... Il protocollo SSH utilizza o ha utilizzato 22 / UDP per il controllo del tunneling tramite TCP. Se decodificato correttamente tramite Wireshark e si sta effettuando il tunneling di una connessione tramite ssh-agent o tunneling in remoto o localmente, si noterà che UDP è incapsulato all'interno dei segmenti TCP.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.