Using the QUIC protocol as the entry point of SSH.
Improve performances, reliability, especially for cellular data.
Bring potentially new muxing and tunneling capabilities.
Problems to address
- SSH connection manager is statefull, using QUIC instead of TCP may result in having zombie connections (which may automatically reconnect with 0RTT feature of QUIC); it’s also possible to just configure a timeout
- The current SSH protocol seems to much linked with its connection manager and networking handler; it seems that putting a proxy in front of SSH may not works out of the box; alternative implementations may be:
- Similar approach than MOSH, which uses native SSH to establish a connection, then start a dedicated daemon that will listen over UDP and continue the SSH connection; this method works but it’s not SSH anymore, and thus, you can’t integrate MOSH with softwares that uses the base SSH; you cannot done some advanced features a for the port forwarding
- Patch SSH itself to support QUIC natively
- Write à completely new daemon
- Write a small proxy daemon that will open a local SSH connection and forward everything to the real daemon