Nachforschungen haben ergeben, dass SSH sowohl TCP als auch UDP verwendet. Ich verstehe die Verwendung von TCP vollständig, aber UDP scheint ein bisschen seltsam. Warum sollte ich ein "unzuverlässiges" Transportprotokoll mit minimalem Handshake für den sicheren Shell-Zugriff verwenden?
Die einzige Verwendung, die ich mir vorstellen kann, ist für SCP, also (große) Dateiübertragung. Wäre TCP wegen des Handshakes nicht nützlicher?
Tatsächlich denke ich darüber nach, nur TCP für SSH zu öffnen, aber die Auswirkungen davon nicht zu kennen, wäre ziemlich schädlich.
BEARBEITEN
Es stellt sich heraus, dass es nicht nur eine These zu ssh over UDP gibt, sondern auch eine vollwertige ssh-Implementierung namens mosh . Das klassische SSH verwendet jedoch weiterhin nur TCP, wie in den RFCs angegeben .
Antworten:
Ich habe es mit mehreren SSH-Verbindungen von Windows zu Unix und Unix zu Unix versucht und ich bekomme kein einziges UDP-Paket an Port 22. Auch der Server lauscht nur auf TCP.
In dieser Arbeit wurde versucht, UDP für den SSH-Transport zu implementieren, es wird jedoch auch erwähnt, dass standardmäßig nur TCP verwendet wird: "OpenSSH verwendet TCP konsistent für alle Netzwerkverbindungen und damit für die VPN-Funktion." Die Wikipedia-Seite könnte sagen, dass es sich um UDP handelt, da die SSH-Entwickler eine erste Anforderung für UDP- und TCP-Zuweisungen gestellt haben, der zugehörige RFC erwähnt dies jedoch nicht.
quelle
... Das SSH-Protokoll verwendet oder hat 22 / UDP für die Tunnelsteuerung über TCP verwendet. Wenn die Dekodierung ordnungsgemäß über Wireshark erfolgt und Sie eine Verbindung entweder über ssh-agent oder remote oder lokal tunneln, werden Sie feststellen, dass UDP in den TCP-Segmenten gekapselt ist.
quelle