What does SSH use UDP for?

Wile doing research I noticed that SSH both uses TCP and UDP. I completely understand the use of TCP, but UDP seems a bit strange. Why would I use an "unreliable" transport protocol with minimal handshaking for secure shell access?

The only use I can think of is for SCP, so (big) file transmission. But again, wouldn't TCP be more useful because of the handshaking stuff?

In fact, I am considering only opening TCP for SSH, but not knowing the implications of that would be quite detrimental.


EDIT

Turns out that there's not only a thesis about ssh over UDP, but also a fully fledged ssh-implementation, called mosh. However, the classic ssh still only uses TCP, as specified in its RFCs.


Solution 1:

I tried it with several SSH connections from Windows to Unix and Unix to Unix and I don't get a single UDP packet on port 22. Also the server only listens on TCP.

In this thesis they tried to implement UDP for SSH transport, but they also mention that the default only uses TCP: ". OpenSSH is using TCP consistently for all its network connections and thus for its VPN feature.". The Wikipedia page might say it's UDP because the SSH developers made an initial request for UDP & TCP assignments, but the related RFC makes no mention of it.

Solution 2:

... The SSH protocol uses or has used 22/UDP for tunneling control through TCP. If decoded properly via Wireshark and you are tunneling a connection through via either ssh-agent or tunneling remotely or locally you would notice that UDP is encapsulated within the TCP segments.