Live data from Hacker News

SSH3: SSHv2 using HTTP/3 and QUIC

github.com

31–40 of 206 posts

Re: SSH3: SSHv2 using HTTP/3 and QUIC

#31
People are being perhaps a little too over dramatic here.

Yes, this is not SSHv3 as defined by a standards body. It is very much SSHv2 over HTTP/3. (Which sorta sounds like how HTTP/3 is actually HTTP/2 over QUIC)

But there is lots of SSH servers and clients, such as Dropbear SSH, OpenSSH, libssh, libssh2 (which is very different from libssh which also supports sshv2), and more. So I don't blame the creators from putting SSH in the name.

The code itself looks like mostly glue code to other more well established libraries. I'm not saying that they didn't introduce new flaws, just that they did not roll their own crypto here.

Their paper on their work is pretty interesting: https://arxiv.org/pdf/2312.08396.pdf

I kinda hope this succeeds. The faster connection time is nice, but really OpenSSH is so change adverse that it's painful.

IE, I have to have a pretty large patch sets to open SSH, one of them being HPN ssh for getting any kind of reasonable throughput over high latency links. This patch set is decades old and the problems well known, but OpenSSH maintainers do not care. Replacing the transport layer would force things like having reasonable window scaling.

Another is loadbalancing and routing SSH connections. You cannot know where a client wants to connect to till after they done a full hand shake. This is pretty painful. If we had something like SNI we could route clients to the correct servers using only a single IP and port.

I fully welcome these ideas and am glad a group is working on testing these concepts.

Please don't dismiss things too hard too soon.

Re: SSH3: SSHv2 using HTTP/3 and QUIC

#33
post #31

People are being perhaps a little too over dramatic here. Yes, this is not SSHv3 as defined by a standards body. It is very much SSHv2 over HTTP/3. (Which sorta sounds like how HTTP/3 is actually HTTP/2 over QUIC) But there is lots of SSH servers and clients, such as Dropbear SSH, OpenSSH, libssh, libssh2 (which is very different from libssh which also supports sshv2), and more. So I don't blame the creators from put…

Ok, I've put SSHv2 in the title to make that clearer. If there's a better way, we can change it again.

Re: SSH3: SSHv2 using HTTP/3 and QUIC

#34
I believe security models for HTTP and SSH are pretty different. HTTP is usually public and anonymous, SSH is usually private and authenticated. While QUIC is definitely a great technology for HTTP use case, I'm not so sure about SSH. Not saying it's not, just it's something to reason about.

For example x509 seems to be a disadvantage to me. I do not want anyone with a cheap DigiCert certificate be able to log in to my server, even as a result of some fat finger misconfiguration. OAuth assumes that both client and service provider can reach identity provider. Is it so for most serves? I am used to see pretty restricted setups, where many servers have no internet access and only update from a private package repository.

From one side, I really like the idea of reusing HTTP. Who does new protocols these days? Everything is JSON or XML over HTTP. And it's good enough for most cases. But is it good enough for SSH? WinRM works over HTTP, but it uses Kerberos for authentication.

Are there any significant real practical advantages? I don't see any. Are there any vulnerabilities, possibilities for misconfiguration, architectural flaws? Quite possible.

Re: SSH3: SSHv2 using HTTP/3 and QUIC

#35

WARNING: This is not ssh3. This is someone’s project. Install at your own risk.

Anyone should treat any new crypto project which hasn't seen a lot of testing from others as such, no matter who it came from. Even if this was some sort of proposal of the OpenSSH people.

The project is associated with the Louvain university; I would rate the risk of outright malicious tomfoolery to be quite low.

Re: SSH3: SSHv2 using HTTP/3 and QUIC

#36
post #18

If you want SSH via UDP, try mosh. If you have it installed on both client and server side, it just works, re-using auth, sessions etc fron ssh itself and only replacing sending actual session bytes back and forth. Don't break on unstable connections, have way lower latency

eternal is better than mosh https://eternalterminal.dev/

Neat.

> While mosh provides the same core functionality as ET, it does not support native scrolling nor tmux control mode (tmux -CC).

Re: SSH3: SSHv2 using HTTP/3 and QUIC

#38
Maybe similar to https://github.com/moul/quicssh

I've done ssh over websocket before (to bypass a corp proxy)... been thinking about it a lot lately. I would love if mosh got support for different transports than just udp and it would be cool if the initial handshake could be done over http instead of ssh.

Re: SSH3: SSHv2 using HTTP/3 and QUIC

#39
post #34

I believe security models for HTTP and SSH are pretty different. HTTP is usually public and anonymous, SSH is usually private and authenticated. While QUIC is definitely a great technology for HTTP use case, I'm not so sure about SSH. Not saying it's not, just it's something to reason about. For example x509 seems to be a disadvantage to me. I do not want anyone with a cheap DigiCert certificate be able to log in to…

“cheap DigiCert certificate” is already possible with misconfiguration of SSH’s TrustedUserCAKeys and without any out of tree patches. https://smallstep.com/blog/use-ssh-certificates/
Post reply on HN