SSH3: Faster and rich secure shell using HTTP/3

(github.com)

217 points | by tempaccount420 6 hours ago ago

115 comments

  • psanford 4 hours ago

    I do hate the name ssh3. I was glad to see this at the top of the repo:

    > SSH3 is probably going to change its name. It is still the SSH Connection Protocol (RFC4254) running on top of HTTP/3 Extended connect, but the required changes are heavy and too distant from the philosophy of popular SSH implementations to be considered for integration. The specification draft has already been renamed ("Remote Terminals over HTTP/3"), but we need some time to come up with a nice permanent name.

    • zdw 4 hours ago

      Same - this feels equivalent of some rando making a repo called "Windows 12" or "Linux 7".

      • bravetraveler 4 hours ago

        LDAP2 or nextVFS... but point awarded. Feels that way because it is. Though my examples aren't great. These things just are; not really versioned. I don't know if major differences would call for ++

        A better 'working name' would be something like sshttp3, lol. Obviously not the successor to SSH2

    • pdmccormick an hour ago

      HTTPSSH.

      Why not just SSH/QUIC, what does the HTTP/3 layer add that QUIC doesn’t already have?

      • arka2147483647 39 minutes ago

        QuickShell - it should be called

      • gclawes 42 minutes ago

        The ability to use HTTP authentication methods, HTTP headers, etc?

    • theandrewbailey 3 hours ago

      Maybe SSH/3 instead (SSH + HTTP/3)?

      • throwaway127482 2 hours ago

        Doesn't /3 mean v3? I mean, for HTTP itself, doesn't the HTTP/3 == HTTPv3? If so, I don't see how this is any better than SSH3 - both SSH3 and SSH/3 read to me like "SSH v3"

        • theandrewbailey 2 hours ago

          Yes, but HTTP is about the only thing that versions with a slash. By writing it SSH/3, it would emphasize its relationship with HTTP/3, instead of it being the third version of SSH.

      • techscruggs 3 hours ago

        I like this idea!

        Having SSH in the name helps developers quickly understand the problem domain it improves upon.

    • NewJazz an hour ago
    • noman-land 3 hours ago

      SSHTTP

    • p1mrx 3 hours ago

      SSHoH

    • thayne 2 hours ago

      qrs for Quic Remote Shell?

      Or h3s for HTTP 3 Shell?

      H3rs for http3 remote shell?

      • ape4 an hour ago

        How about Tortoise Shell - a little joke because its so fast

    • piannucci an hour ago

      How about rthym or some variation?

    • CharlesW 2 hours ago

      h3sh | hush3 | qs | qsh | shh | shh3

      • NewJazz an hour ago

        Anything with a 3 in it is a nightmare to type quickly. shh looks like you typo'd ssh.

        qsh might be taken by QShell

        https://en.m.wikipedia.org/wiki/Qshell

        There's a whole github issue where the issue was bike shed to death.

      • mnsc an hour ago

        SSQ

    • attentive 15 minutes ago

      ussh (for udp)

    • guerrilla 3 hours ago

      Yeah, that's not cool.

    • formerly_proven 4 hours ago

      Easy: hhs instead of ssh (since the even more obvious shh is essentially impossible to google). Stands for, idk, HTTP/3 Hardened Shell or something ("host shell"? sounds like windows)

    • ok123456 3 hours ago

      SSH over 3: SO(3). Like the rotation group.

    • diego_sandoval 2 hours ago

      SSHoHTTP3

    • moralestapia 3 hours ago

      Don't use it! Create your own thing and name it however you want.

      Non-doers are the bottom rung of the ladder, don't ever forget that :).

      • literalAardvark 36 minutes ago

        No... They're one rung up from evil and dumb doers.

  • kelnos an hour ago

    > Establishing a new session with SSHv2 can take 5 to 7 network round-trip times, which can easily be noticed by the user. SSH3 only needs 3 round-trip times. The keystroke latency in a running session is unchanged.

    Bummer. From a user perspective, I don't see the appeal. Connection setup time has never been an annoyance for me.

    SSH is battle-tested. This feels risky to trust, even whenever they end up declaring it production-ready.

  • dev_l1x_be 7 minutes ago

    This thread is s classic example what we care about: names. Is there technical merit to do ssh over http3? Who caes? Who knows?

  • Zambyte 5 hours ago

    I was skeptical of the claim that it's faster than traditional SSH, but the README specifies that it is faster at establishing a connection, and that active connections are the same speed. That makes a lot of sense and seems like a reasonable claim to make.

    • s-macke 4 hours ago

      It is not faster in this sense. However, an SSH connection can have multiple substreams, especially for port forwarding. Over a single classical connection, this can lead to head-of-line blocking, where an issue in one stream slows everything down. QUIC/HTTP3 protocol can solve this.

      • thayne 2 hours ago

        Does this implementation do that do, or does it just use a single h3 stream?

        • s-macke 2 hours ago

          The answer is yes according to code and documentation [0]:

          > The stream multiplexing capabilities of QUIC allow reducing the head-of-line blocking that SSHv2 encounters when multiplexing several SSH channels over the same TCP connection

          ....

          > Each channel runs over a bidirectional HTTP/3 stream and is attached to a single remote terminal session

          [0] https://www.ietf.org/archive/id/draft-michel-remote-terminal...

    • notepad0x90 5 hours ago

      Although, dollars-to-donuts my bet is that this tool/protocol is much faster than SSH over high-latency links, simply by virtue of using UDP. Not waiting for ack's before sending more data might be a significant boost for things like scp'ing large files from part of the world to the another.

      • nh2 4 hours ago

        SSH has low throughput on high latency links, but not because it uses TCP. It is because SSH hardcodes a too-small maximum window size in its protocol, in addition to the one of TCP.

        This SSH window size limit is per ssh "stream", so it could be overcome by many parallel streams, but most programs do not make use of that (scp, rsync, piping data through the ssh command), so they are much slower than plain TCP as measured eg by iperf3.

        I think it's silly that this exists. They should just let TCP handle this.

        • fanf2 4 hours ago

          Yeah, the longstanding hpn-ssh fork started off by adjusting ssh’s window sizes for long fat pipes.

          https://github.com/rapier1/hpn-ssh

        • Operyl 4 hours ago

          Off the top of your head do you know of any file transfer tools that do utilize multiple streams?

          • bravetraveler 4 hours ago

            I tend to use 'rclone', does SSH/more. The '--transfers' arg is useful for handling several files, lol. One, if I recall correctly, isn't parallelized.

      • bcrl 4 hours ago

        That's why mosh exists, as it is purpose built for terminals over high latency / high packet loss links.

      • fanf2 4 hours ago

        Yeah, there’s a replacement for scp that uses ssh for setup and QUIC for bulk data transfer, which is much faster over high-latency paths.

        https://github.com/crazyscot/qcp

      • xorcist 4 hours ago

        Of course it has ACKs. There are protocols without ACKs but they are exotic and HTTP3 is not one of them.

        • IshKebab 4 hours ago

          He said not waiting for ACKs.

          • xorcist 4 hours ago

            That makes even less sense, unless we are talking about XMODEM every protocol uses windowing to avoid getting stuck waiting for ACKs.

            Of course you need to wait for ACKs at some point though, otherwise they would be useless. That's how we detect, and potentially recover from, broken links. They are a feature. And HTTP3 has that feature.

            Is it better implemented than the various TCP algorithms we use underneath regular SSH? Perhaps. That remains to be seen. The use case of SSH (long lived connections with shorter lived channels) is vastly different from the short lived bursts of many connections that QUIC was intented for. My best guess is that it could go both ways, depending on the actual implementation. The devil is in the details, and there are many details here.

            Should you find yourself limited by the default buffering of SSH (10+Gbit intercontinental links), that's called "long fat links" in network lingo, and is not what TCP was built for. Look at pages like this Linux Tuning for High Latency networks: https://fasterdata.es.net/host-tuning/linux/

            There is also the HPN-SSH project which increases the buffers of SSH even more than what is standard. It is seldom needed anymore since both Linux and OpenSSH has improved, but can still be useful.

            • IOT_Apprentice 4 hours ago

              Well, you could peruse the code. Then see what it does and explain it.

      • finaard 4 hours ago

        Not really that relevant - anybody regularly using SSH over high latency links is using SSH+mosh already anyway.

        • oefrha 4 hours ago

          The huge downside of mosh is it handles its own rendering and destroys the scrollback buffer. (Yes I know I can add tmux for a middle ground.)

          But it's still irrelevant here; specifically called out in README:

          > The keystroke latency in a running session is unchanged.

          • esseph 33 minutes ago

            "huge downside" (completely mitigated by using tmux)

            The YouTube and social media eras made everyone so damn dramatic. :/

            Mosh solves a problem. tmux provides a "solution" for some that resolves a design decision that can impact some user workflows.

            I guess what I'm saying here, is it you NEED mosh, then running tmux is not even a hard ask.

    • wolrah 5 hours ago

      It also tracks with HTTP/3 and QUIC as a whole, as one of the main "selling points" has always been reduced round trips leading to faster connection setup.

  • alsosprachben an hour ago

    I haven’t seen anyone yet comment on the design constraint that SSH uses a lot of separation in its multiplexing for the purpose of sandboxing/isolation. Would want transport to be as straightforward as possible. SSH needs to be the reliable, secure tunnel that you can use to manage your high performance gateways. It has a lot of ways to turn things off to avoid attack surface. HTTP protocols have a lot of base requirements. Different problems.

  • staplung an hour ago

    It's cool that SSH is getting some love but I'm a little sad they're not being a little more ambitious with regard to new features, considering it seems like they're more or less creating a new thing. Looks like they're going to support connection migration but it would be cool (to me anyway) if they supported some of the roaming/intermittent connectivity of Mosh[1].

    1: https://mosh.org/

    • eqvinox an hour ago

      AIUI connection migration (as well as multipath handling) is a QUIC feature. And how would that roaming feature differ from "built-in tmux"? I'm not sure the built-in part there would really be an advantage…

  • temp0826 5 hours ago

    I don't know why it makes me a little sad that every application layer protocol is being absorbed into http.

    • xg15 4 hours ago

      If this were really the case, it would indeed be sad, as the standard HTTP request/response model is both too restrictive and too overengineered for many usecases.

      But both HTTP/2 and QUIC (the "transport layer" of HTTP/3) are so general-purpose that I'm not sure the HTTP part really has a lot of meaning anymore. At least QUIC is relatively openly promoted as an alternative to TCP, with HTTP its primary usecase.

      • singpolyma3 4 hours ago

        Indeed. "Using quic with a handshake that smells like http3" is hardly "using http" imo

    • attentive 5 minutes ago

      quic is more layer 4 or close to tcp reimplementation. Far from http layer 7.

    • chrisfosterelli 5 hours ago

      It feels a little like a kludge as long as we keep calling it http. The premise makes sense -- best practices for connection initialization have become very complex and a lot of protocols need the same building blocks, so its beneficial to piggyback on the approach taken by one of the most battle tested protocols -- but it's not really hypertext we're using it to transfer anymore so it feels funny.

      • xg15 5 hours ago

        Yeah, building it on top of QUIC is reasonable, but trying to shoehorn SSH into HTTP semantics feels silly.

        • conradludgate 4 hours ago

          It's on top of HTTP CONNECT, which is intended for converting an existing request (QUIC stream) into a transparent byte stream. This removes the need to deal with request/response semantics.

          The reasons states to use http3 and not QUIC directly makes sense with littlest downside - you can run it behind any standard http3 reverse proxy, under some subdomain or path of your choosing, without standing out to port scanners. While security through obscurity is not security, there's no doubt that it reduces the CPU overhead that many scanners might incur if they discover your SSH server and try a bunch of login attempts.

          Running over HTTP3 has an additional benefit. It becomes harder to block. If your ssh traffic just looks like you're on some website with lots of network traffic, eg google meet, then it becomes a lot harder to block it without blocking all web traffic over http3. Even if you do that, you could likely still get a working but suboptimal emulation over http1 CONNECT

          • thayne an hour ago

            > you can run it behind any standard http3 reverse proxy

            As long as said proxy supports a http CONNECT to a bi-directional connection. Which most I know of do, but may require additional configuration.

            Another advantage of using http/3 is it makes it easier to authenticate using something like oauth 2, oidc, saml, etc. since it can use the normal http flow instead of needing to copy a token from the http flow to a different flow.

          • MrDarcy 2 hours ago

            Google Cloud’s identity aware proxy underpinning the gcloud compute ssh command works the same way, as an http CONNECT upgrade.

    • MrDarcy 4 hours ago

      It’s a necessary evil resulting from misguided corporate security teams blocking and intercepting everything else.

      Looking at you, teams who run Zscaler with tls man in the middle attack mode enabled.

    • zenmac 4 hours ago

      Yeah we got those good old network ppl or their corporate (don't knows much about tech) overlord to thank for that.

      If you ever using wifi in the airport or even some hotel with work suite unit around the world, you will notice that Apple Mail can't send or receive emails. It is probably some company wide policy to first block port 25 (that is even the case with some hosting providers) all in the name of fighting SPAM. Pretty soon, 143, 587, 993, 995.... are all blocked. Guess 80 and 443 are the only ones that can go through any firewalls now days. It is a shame really. Hopefully v6 will do better.

      So there you go. And know EU wants to do ChatControl!!!! Please stop this none-sense, listen to the people who actually knows tech.

      • Telemakhos 4 hours ago

        Port 25 is insecure and unencrypted; EU doesn't even need ChatControl to hoover up that data, and you'd better believe anything going through an airport wifi router unencrypted is being hoovered by someone no matter what jurisdiction you're in. Apple mail prefers 587 for secure SMTP and 993 for secure IMAP.

        People were (wisely) blocking port 25 twenty years ago.

        • Fnoord 2 hours ago

          > People were (wisely) blocking port 25 twenty years ago.

          20 years ago (2005) STARTTLS was still widely in use. Clients can be configured to call it when STARTTLS isn't available. But clients can also be served bogus or snake oil TLS certs. Certificate pinning wasn't widely in use for SMTP in 2005.

          Seems STARTTLS is deprecated since 2018 [1]

          Quote: For email in particular, in January 2018 RFC 8314 was released, which explicitly recommends that "Implicit TLS" be used in preference to the STARTTLS mechanism for IMAP, POP3, and SMTP submissions.

          [1] https://serverfault.com/questions/523804/is-starttls-less-sa...

        • zenmac 3 hours ago

          Ah thanks for the correction. Just changed my post above to 587. What I mean is why block all the ports, just keep it open let the user decide if they want to use it. And linux people can always use ufw on their side to be safe. Back in the dot com days, there were people also using telnet, but that got changed to ssh.

          Is it because it is hard to detect what type of the request that is being sent? Stream vs Non Stream etc?

    • fulafel 4 hours ago

      Is there some indication that this is going to be adopted? The linked ietf submission is an expired individual draft (which anyone can send in) and not from the ssh spec working group, sounds like this is from some reseachers that used SSH3 as an optimistic name.

    • oofbey 2 hours ago

      I hear you that it feels like something is off. The lack of diversity feels like we're losing robustness in the ecosystem. But it can be a good thing too. A lot of security issues are concentrated into one stack that is very well maintained. So that means everything built on top of it shares the same attack surface. Which yes means it can all come crashing down at once, but also that there are many eyes looking for vulnerabilities and they'll get fixed quickly. Similarly perf optimizations are all shared, and when thing get this popular can get pushed down into hardware even.

      It's not like we see a lot of downsides that the world collectively agreed on TCP/IP over IPX/SPX or DECNet or X.25. Or that the linux kernel is everywhere.

      • temp0826 2 hours ago

        Humbug. I feel an urge to implement token ring over fiber. Excuse me while I yell at clouds.

  • ricardobeat an hour ago

    > the keystroke latency during a session remains unchanged

    That’s a shame. Lowered latency (and persistent sessions, so you don’t pay the connection cost each time) are the best things about Mosh (https://mosh.org/).

    • nine_k an hour ago

      Lowered perceived latency.

  • miduil 5 hours ago

    I wonder what the current plans are with the project, it's been over a year since the last release - yet alone commits or other activity on GitHub. As they've started working on the project with a paper - I guess they'll might be continuously working on other associated aspects?

    • jhatemyjob 3 hours ago

      Thanks for pointing that out. I'm gonna assume it's a dead project. It has only 239 commits, basically a proof of concept. Nothing to take seriously. OpenBSD on the other hand is extremely active, there's no way OpenSSH will be dethroned anytime soon.

      https://github.com/openbsd/src/commits/master/

  • Dwedit 12 minutes ago

    Can it tunnel arbitrary TCP ports?

  • eqvinox 3 hours ago

    I feel like this should really be SSH over QUIC, without the HTTP authorization mechanisms. Apart from the latter not really being used at all for users (only for API calls, Bearer auth), shell logins have a whole truckload of their own semantics. e.g. you'd be in a rather large amount of pain trying to wire PAM TOTP (or even just password+OTP) into HTTP auth…

    • 9dev 2 hours ago

      I view it orthogonally: Making it easier to use our single company identity we use for every single service for SSH as well would make it so much easier to handle authorization and RBAC properly for Linux server management. Right now, we have to juggle SSH keys; I always wanted to move to SSH certificates instead, but there's not a lot of software around that yet (anyone interested in building some? Contact me).

      So having the ease of mind that when I block someone in Entra ID, they will also be locked out of all servers immediately—that would be great actually.

      > PAM TOTP (or even just password+OTP) into HTTP auth

      But why would you? Before initiating a session, users will have to authorise to the IdP, which probably includes MFA or Passkeys anyway. No need for PAM anymore at all.

      • eqvinox an hour ago

        > use our single company identity we use for every single service for SSH as well

        How would that even work? Do you open your browser, log in, and then somehow transfer the session into your ssh client in a terminal? Does the browser assimilate the terminal?

        And let me remind you, HTTP authentication isn't a login form. It's the browser built-in "HTTP username + password" form and its cousins. We're talking HTTP 401. The only places this is widely used is API bearer tokens and NTLM/Kerberos SSO.

        > Before initiating a session, users will have to authorise to the IdP, which probably includes MFA or Passkeys anyway. No need for PAM anymore at all.

        Unfortunately I need to pop your bubble, PAM also does session setup, you'd still need it. And the other thing here is — you're solving your problem. Hard-relying on HTTP auth for this SSH successor needs to solve everyone's problem. And it's an incredibly bad fit for a whole bunch of things.

        Coincidentally, SSH's mechanisms are also an incredibly bad fit; password authentication is in there as a "hard" feature; it's not an interactive dialog and you can't do password+TOTP there either. For that you need keyboard-interactive auth, which I'm not sure but feels like it was bolted on afterwards to fix this. Going with HTTP auth would probably repeat history quite exactly here, with at some point something else getting bolted to the side…

        • Denvercoder9 an hour ago

          > Do you open your browser, log in, and then somehow transfer the session into your ssh client in a terminal?

          You start the ssh client in the terminal, it opens a browser to authenticate, and once you're logged in you go back to the terminal. The usual trick to exfiltrate the authentication token from the browser is that the ssh client runs an HTTP server on localhost to which you get redirected after authenticating.

          • 9dev an hour ago

            That, or the SSH client opens a separate connection to the authorization server and polls for the session state until the user has completed the process; that would be the device code grant, which would solve this scenario just fine.

        • 9dev 27 minutes ago

          > How would that even work? Do you open your browser, log in, and then somehow transfer the session into your ssh client in a terminal? Does the browser assimilate the terminal?

          That's pretty well covered in RFC8628 and doesn't even require a browser on the same device where the SSH client is running.

          > And let me remind you, HTTP authentication isn't a login form. It's the browser built-in "HTTP username + password" form and its cousins. We're talking HTTP 401. The only places this is widely used is API bearer tokens and NTLM/Kerberos SSO.

          That depends entirely on the implementation. It could also be a redirect response which the client chooses to delegate to the user's web browser for external authentication. It's just the protocol. How the client interprets responses is entirely up to the implementation.

          > Unfortunately I need to pop your bubble, PAM also does session setup, you'd still need it.

          I don't see why, really. It might just as well be an opaque part of a newer system to reconcile remote authorization with local identity, without any interaction with PAM itself necessary at all.

          > And the other thing here is — you're solving your problem. Hard-relying on HTTP auth for this SSH successor needs to solve everyone's problem. And it's an incredibly bad fit for a whole bunch of things.

          But isn't that the nice part about HTTP auth, that it's so extensible it can solve everyone's problems just fine? At least it does so on the web, daily, for billions of users.

    • axiolite 2 hours ago

      That has been around for years:

      https://github.com/moul/quicssh

      • eqvinox an hour ago

        I guess it didn't get traction… whether that happens honestly feels like a fickle, random thing.

        To be fair, a go project as sole implementation (I assume it is that?) is a no-go, for example we couldn't even deploy it on all our systems since last I checked Go doesn't support ppc64. (BE, not ppc64le)

        I also don't see a protocol specification in there.

        [edit] actually, no, this is not SSH over QUIC. This is SSH over single bidi stream transport over QUIC, it's just a ProxyCommand. That's not how SSH over QUIC should behave, it needs to be natively QUIC so it can take advantage of the multi-stream features. And the built-in TLS.

  • she46BiOmUerPVj 5 hours ago

    So with HTTP requests you can see the domain name in the header and forward it to the correct host. That was never a thing you could do with SSH, does this allow that to work?

    • projektfu 3 hours ago

      "Proxy jump

      "It is often the case that some SSH hosts can only be accessed through a gateway. SSH3 allows you to perform a Proxy Jump similarly to what is proposed by OpenSSH. You can connect from A to C using B as a gateway/proxy. B and C must both be running a valid SSH3 server. This works by establishing UDP port forwarding on B to forward QUIC packets from A to C. The connection from A to C is therefore fully end-to-end and B cannot decrypt or alter the SSH3 traffic between A and C."

      More or less, maybe but not automatically like you suggest, I think. I don't see why you couldn't configure a generic proxy to set it up, though.

    • finaard 4 hours ago

      But that wasn't really a thing that was an issue with SSH.

      Host *.internal.example.com

        ProxyCommand ssh -q -W %h:%p hop.internal.example.com
      
      
      in the SSH client config would make everything in that domain hop over that hop server. It's one extra connection - but with everything correctly configured that should be barely noticeable. Auth is also proxied through.
      • kbolino 3 hours ago

        Is there a way to configure the jump (hop) server to reroute the request based on the value of %h and/or %p? Otherwise, it's going to be quite difficult to configure something like HTTP virtual hosts.

        EDIT: Looking at the relevant RFC [1] and the OpenSSH sshd_config manual [2], it looks like the answer is that the protocol supports having the jump server decide what to do with the host/port information, but the OpenSSH server software doesn't present any relevant configuration knobs.

        [1]: https://www.rfc-editor.org/rfc/rfc4254.html#section-7.2

        [2]: https://man7.org/linux/man-pages/man5/sshd_config.5.html

        • t-3 3 hours ago

          Yes, but it's not in the sshd config, it's in the ssh config. See ssh_config(5), search for Remote to find the most relevant sections.

      • doubled112 4 hours ago

        If you don't need to do anything complicated, ProxyJump is easier to remember.

            Host *.internal.example.com
              ProxyJump hop.internal.example.com
        • chupasaurus 4 hours ago

          ProxyJump was implemented a decade ago to replace that specific string.

      • she46BiOmUerPVj 3 hours ago

        I'm aware of proxy jump and other client side config but I'd rather that not every single client need to do this configuration.

      • unsnap_biceps 4 hours ago

        Newer versions of ssh support ProxyJump

          ssh -J hop.internal.example.com foo.internal.example.com
    • billfor 5 hours ago

      You can forward any ssh traffic based on the domain name with SNI redirection. You can also use that with, lets say the nginx stream module, to run ssh and http server on the same port.

  • rootnod3 an hour ago

    Don't get me wrong, this might likely be a fantastic tool. But something as essential as a secure connection would definitely need a good pair of eyes for audit before I'd use that for anything in production.

    But it's a good start. Props to exploring that kind of space that needs improvement but is difficult to get a foothold in.

  • ahlCVA 5 hours ago
  • nwmcsween 2 hours ago

    I recently looked into this at it looks like the IETF(?) RFC draft for SSH3 was abandoned? It's great this exists but I think the standard needs to be done as well.

  • nick_travels 3 hours ago

    built in OIDC authentication - YES, love it!

  • esseph 29 minutes ago

    The ssh3 name feels like cloutchasing

  • Fnoord 2 hours ago

    Written in Go. Terrible name, already discussed in various other comments and author acknowledges.

    The secret path, otherwise giving 404 would need brute-force protection (on HTTPd level?). I think it is easier to run SSH on a non-standard port on IPv6, but it remains true that anyone with network read access between the endpoints can figure it out.

    What isn't explained is why would one care about 100 ms latency during auth? I rather have mosh which has resuming support and will work on high latency (tho IIRC won't work over TOR?). But even then, with LTE and NG, my connections over mobile have become very stable here in NL (YMMV).

  • Imustaskforhelp 3 hours ago

    Yes, Yes, Yes.

    Firstly, I love the satirical name of tempaccount420, I was also just watching memes and this post is literally me (ryan gosling)

    As I was also thinking about this thing literally yesterday being a bit delusional on hoping to create a better ssh using http/3 or something or some minor improvement because I made a comment about tor routing and linking it to things like serveo, I was thinking of enhancing that idea or something lol.

    Actually, it seems that I have already starred this project but I had forgotten about it, this is primarily the reason why I star github project and this might be where I might have got some inspiration of http/3 in the first place with SSH.

    Seems like a really great project (I think)

    Now, one question that I have is could SSH be made modular in the sense that we can split the transport layer apart from SSH as this project does, without too much worries?

    Like, I want to create a SSH-ish something to lets say something like iroh being the transport layer, are there any libraries or resources which can do something like that? (I won't do it for iroh but I always like mixing and matching and I am thinking of some different ideas like SSH over matrix/xmpp/signal too/ the possibilities could be limitless!)

  • Velocifyer 4 hours ago

    Does this still support standard SSH encryption and authentication (on both client and server)?

  • pvsnp 3 hours ago

    Shouldn’t this be called SSH over HTTP/3?

  • bullen 2 hours ago

    YAMP

  • odie5533 2 hours ago

    Faster SSH in Rust when?

  • ur-whale 3 hours ago

    Knee-jerk reaction: if it aint broke ...

    • Too an hour ago

      I thought the same until I read the page and realized that ssh is quite broken if you think about it.

      With ssh everybody does TOFU or copies host fingerprints around, vs https where setting up letsencrypt is a no-brainer and you’re a weirdo of you even think about self-signed certs. Now you can do the same with ssh but do you?

      For authentication, ssh relies on long lived keys rather than short lived tokens. Yes, I know about ssh certificates but again, it’s a hassle to set up compared to using any of a million IdP with oauth2 support. This enables central place to manage access and mandate MFA.

      Finally, you better hope your corporate IT has not blocked the SSH port as a a security threat.

    • axiolite 2 hours ago

      Telnet, FTP and rlogin wasn't broke, either. They had their own encrypted variants before SSH came along.

      Listing all the deficiencies of something, and putting together a thing that fixes all of them, is the kind of "designed by committee" project that everyone hates. Real progress requires someone to put together a quick project, with new features they think are useful, and letting the public decide if it is useful or not.

  • CommanderData an hour ago

    X.509 certificates & PKI....

    Hopefully provides a way to pin certs or at least pin certificate authorities && has PFS.

    My conspiracy hat doesn't trust all the cert auths out there.

  • hulitu an hour ago

    > SSH3: Faster and rich secure shell using HTTP/3

    Maybe they shall teach naming projects in CS.

    Why not Windows 12 ? /s

  • AshamedCaptain 5 hours ago

    Sure, someone paranoid about his SSH server being continuously proved by bots is going to excitedly jump to a new HTTP-SSH server that is going to be continuously proved by even more bots for HTTP exploits (easily an order of magnitude more traffic) AND whatever new fangled "HTTP-SSH" exploits appear.