Why aren’t we using SSH for everything? (2015)
Because it's not a very good protocol. Adopting it, instead of HTTP/2 and TLS 1.3, basically gets you everything that is bad about TLS (most notably, a legacy of 1990s cryptography) and everything that is bad about SSH (poor performance, extreme complexity), and leave you with no upsides.<p>For instance: the HTTPS stack will, with effort, allow you to <i>opt in</i> to protocol forwarding, via mechanisms that were designed to prevent accidental forwarding. The SSH stack, on the other hand, requires you to <i>opt out</i> of <i>arbitrary</i> TCP/IP port forwarding. Screwing that up will, more often than not, get you owned up Phineas Phisher-style.<p>The things this post appreciates about SSH are equally available in the HTTPS stack (even more so in the HTTP/2 stack). Unlike SSH, with its janky Connection Protocol, HTTP has for the last 10 years been designed as an arbitrary application protocol. SSH does a better job providing interactive terminal sessions. HTTP does a better job at everything else.