LWN: Comments on "OpenSSH 9.0 released" https://lwn.net/Articles/890734/ This is a special feed containing comments posted to the individual LWN article titled "OpenSSH 9.0 released". en-us Sat, 18 Oct 2025 12:28:03 +0000 Sat, 18 Oct 2025 12:28:03 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net OpenSSH 9.0 released https://lwn.net/Articles/897040/ https://lwn.net/Articles/897040/ nix <div class="FormattedComment"> Workaround? Not using chattr :( alas, I want to use the immutable bit heavily, and this also breaks every backup program I&#x27;ve ever seen whenever a file is hardlinked (those that support setting the immutable bit at all): they all restore the first link, set its attributes (including immutability), then assume they can make further hardlinks to it later on. Not without unsetting immutability around the hardlinking, you can&#x27;t...<br> </div> Fri, 03 Jun 2022 16:44:26 +0000 OpenSSH 9.0 released https://lwn.net/Articles/892222/ https://lwn.net/Articles/892222/ mrugiero <div class="FormattedComment"> If they wanted to discourage use of scp they should just have dropped the command and forced the user to call sftp instead. Now I have a command that doesn&#x27;t do what it&#x27;s expected to do, which is using the scp protocol for file transfer, and breaks compatibility with other implementations in the process (as mentioned in a different comment, you&#x27;d need to explictly install the sftp-server now if you use dropbear, which seems like a drag for the use case of keeping disk and RAM usage low).<br> It reminds me of Apple being &quot;&quot;&quot;&quot;helpful&quot;&quot;&quot;&quot; by making gcc a symlink to clang.<br> </div> Thu, 21 Apr 2022 15:10:11 +0000 OpenSSH 9.0 released https://lwn.net/Articles/892221/ https://lwn.net/Articles/892221/ mrugiero <div class="FormattedComment"> Which is also true for sftp. This change broke compatibility with the remote using dropbear, as it supports real scp but not sftp.<br> </div> Thu, 21 Apr 2022 15:05:12 +0000 OpenSSH 9.0 released https://lwn.net/Articles/891405/ https://lwn.net/Articles/891405/ pabs <div class="FormattedComment"> What workaround for the missing chattr support are you using?<br> </div> Fri, 15 Apr 2022 01:27:13 +0000 OpenSSH 9.0 released https://lwn.net/Articles/891377/ https://lwn.net/Articles/891377/ nix <div class="FormattedComment"> <font class="QuotedText">&gt; rsync really needs a --mirror option that would make both sides identical in everything.</font><br> <p> It needs to be able to copy the attributes settable via chattr(1) first, and apparently this will never happen. This is a bit annoying to those of us who use rsync to keep whole machines synced with a master on a bigger system and would like to chattr some parts of the tree :(<br> </div> Thu, 14 Apr 2022 19:40:35 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890960/ https://lwn.net/Articles/890960/ flussence <div class="FormattedComment"> I don&#x27;t think everyone&#x27;s security should be predicated by what a piece of paper owned by a third party says. FIPS is also a standard, but nobody in their right mind waits around for it.<br> </div> Mon, 11 Apr 2022 14:48:11 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890959/ https://lwn.net/Articles/890959/ Paf <div class="FormattedComment"> Yes, that’s exactly the point being made. It is a force for that and so spreading uncertainty about it helps an agency that doesn’t want that transition to occur. Not saying you’re doing that but the point is the logic can go in either direction. (Which doesn’t mean it’s wrong, I think it just means we don’t know.)<br> </div> Mon, 11 Apr 2022 14:26:46 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890888/ https://lwn.net/Articles/890888/ ballombe <div class="FormattedComment"> Sorry but the the NIST competition is a major force toward the use of post-quantum crypto.<br> </div> Mon, 11 Apr 2022 12:13:07 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890876/ https://lwn.net/Articles/890876/ LtWorf <div class="FormattedComment"> <font class="QuotedText">&gt; It looks like sftp only ever made it to rfc-draft stage.</font><br> <p> But it doen&#x27;s thave the weekly security bug due to shell expansion trickery? Which is why scp is being abandoned, since it&#x27;s not really possible to fix it.<br> </div> Mon, 11 Apr 2022 07:05:11 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890871/ https://lwn.net/Articles/890871/ pabs <div class="FormattedComment"> My go-to for rsync is -aSHAX --delete, otherwise you miss some aspects of most Linux native filesystems. In addition I expect there are still some aspects of other filesystems missing, for eg HFS+ resource forks and NTFS secondary streams.<br> <p> rsync really needs a --mirror option that would make both sides identical in everything.<br> </div> Mon, 11 Apr 2022 00:24:33 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890868/ https://lwn.net/Articles/890868/ NYKevin <div class="FormattedComment"> IMHO, the basic problem with rsync(1) is that it doesn&#x27;t know whether it wants to be a tutorial or a reference document, and so it ends up doing both things badly. It&#x27;s not quite as bad as bash(1) (too long) or sudoers(5) (<a href="https://xkcd.com/1343/">https://xkcd.com/1343/</a>, see title text), but it&#x27;s still not great.<br> </div> Sun, 10 Apr 2022 23:43:18 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890862/ https://lwn.net/Articles/890862/ farnz <p>The way <tt>-a</tt> is documented is an example of how it's really difficult to write documentation that's both clear to newcomers and concise for experts. <p>When you look further down (I have 3.2.3 from Aug 2020), it says: <pre> <tt> --archive, -a This is equivalent to -rlptgoD. It is a quick way of saying you want recursion and want to preserve almost every‐ thing (with -H being a notable omission). The only exception to the above equivalence is when --files-from is specified, in which case -r is not implied. Note that -a does not preserve hardlinks, because finding multiply-linked files is expensive. You must separately specify -H. </tt> </pre> <p>This is much clearer if you're not used to rsync, but a lot less concise - it tries to explain the effect of <tt>-rlptgoD but not -H -A -X</tt>. If you're an expert user just re-checking the options, though, you'd see the <tt>-rlptgoD</tt> bit and mentally expand it to: <tt>--archive</tt> does all the things you'd expect if you're using <tt>rsync</tt> as a <tt>rcp</tt> replacement - it handles directories <em>r</em>ecursively, it copies sym<em>l</em>inks as symlinks, it preserves <em>p</em>ermissions, m<em>t</em>ime, <em>g</em>roup and <em>o</em>wner, and it correctly handles <em>D</em>evices and special files, but it does not attempt to copy <em>H</em>ard links as hard links, <em>A</em>CLs or <em>X</em>attrs. <p> Sun, 10 Apr 2022 21:25:03 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890859/ https://lwn.net/Articles/890859/ aaronmdjones <div class="FormattedComment"> You are confusing key exchange (the algorithm that derives the encryption and authentication keys for the underlying traffic) with authentication.<br> <p> NTRU is for the former; ssh-keygen, ssh-agent, gpg-agent, scdaemon, and such will never see it and don&#x27;t even know that you&#x27;re using it.<br> </div> Sun, 10 Apr 2022 20:37:13 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890857/ https://lwn.net/Articles/890857/ j0057 <div class="FormattedComment"> The rsync manpage hurts my brain. It lists multiple examples with the &#x27;-av&#x27; options. What do they do? Well, &#x27;-v&#x27; or &#x27;--verbose&#x27; is easy. Then comes &#x27;-a&#x27; or &#x27;--archive&#x27;, which is equivalent to, quote, &quot;-rltpgoD (no -H, -A, -X)&quot;. That usually makes me want to avoid using rsync.<br> </div> Sun, 10 Apr 2022 20:16:06 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890831/ https://lwn.net/Articles/890831/ gerdesj <div class="FormattedComment"> lol, use scp to install rsync<br> </div> Sat, 09 Apr 2022 21:00:42 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890829/ https://lwn.net/Articles/890829/ cypherpunks2 <div class="FormattedComment"> We already know for a fact that ECC is broken. All that&#x27;s stopping it from being broken in practice is quantum error correction and coherence times. And I would hope that we would use a hybrid key exchange in TLS and all major protocols for a long time but not because of a backdoor so much as possible weaknesses in relatively new algorithms.<br> </div> Sat, 09 Apr 2022 19:42:52 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890827/ https://lwn.net/Articles/890827/ JoeBuck The NSA does not own all of the world's cryptographers and will be unlikely to succeed again at inserting a back door into a standard, since they got caught (see https://en.wikipedia.org/wiki/Dual_EC_DRBG ). Experts will be looking harder next time, and there was enough troubling analysis at that time that almost everyone rejected that algorithm. <p> But we could reverse your argument: suppose that NSA has secret advanced technology to use quantum computing to break current cryptography, not quite ready yet but close. How to protect that? We wouldn't want people to switch away from algorithms that they are close to breaking. Maybe by spreading paranoia about the post-quantum crypto contest? Sat, 09 Apr 2022 17:49:15 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890825/ https://lwn.net/Articles/890825/ ballombe <div class="FormattedComment"> Yes. The paranoid in me cannot help but wonder whether the NIST post-quantum crypto contest is not a sneaky attempt by the NSA to divert people from safe EC crypto to something less studied where they are more likely to have an edge.<br> <p> <p> </div> Sat, 09 Apr 2022 16:45:55 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890824/ https://lwn.net/Articles/890824/ tamiko <div class="FormattedComment"> At least the way how sntrup761 is combined with x25519 ensures that the hybrid kex scheme does not degrade the security level of x25519.<br> </div> Sat, 09 Apr 2022 15:54:48 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890821/ https://lwn.net/Articles/890821/ champtar <div class="FormattedComment"> rsync is wonderful, but it needs to be installed on both side, and is not present in minimal installs. Also it means you have shell access most of the time.<br> </div> Sat, 09 Apr 2022 13:56:40 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890818/ https://lwn.net/Articles/890818/ cyperpunks <div class="FormattedComment"> scp is so weak, it should not be used at all. learn rsync, its sane.<br> </div> Sat, 09 Apr 2022 12:58:35 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890813/ https://lwn.net/Articles/890813/ dtucker &gt; The scp "protocol" is a dismal relic of SSH 1 <p> It dates back further than that to 4.2BSD's rcp in 1982. In OpenBSD they were almost identical codebases and we used to apply fixes to both scp.c and rcp.c (until rcp was deleted from the tree). <p> In fact the in the original release of ssh-1.0.0 <a href="https://github.com/daztucker/historic-ssh/blame/ssh-1.0.0/scp.c">scp.c still had a CVS Id for rcp.c</a>, which based on the ID seems to have been sourced from FreeBSD. Sat, 09 Apr 2022 12:07:19 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890804/ https://lwn.net/Articles/890804/ mkj <div class="FormattedComment"> I don&#x27;t see how gpg-agent would see anything about NTRU, have you seen it as a problem? sntrup761x25519 should only be getting used for key exchange (KEX), versus gpg-agent which doesn&#x27;t handle KEX, just public key auth signatures which keep using existing schemes.<br> <p> gpg-agent might still need updating to handle rsa-sha2 signatures, but that&#x27;s a different problem. <a href="https://adamheins.com/blog/ssh-agent-key-rsa">https://adamheins.com/blog/ssh-agent-key-rsa</a><br> </div> Sat, 09 Apr 2022 05:40:47 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890803/ https://lwn.net/Articles/890803/ CoelacanthusHex <div class="FormattedComment"> And it seems that there are other problems here. If you are using gpg-agent, and OpenSSH matches the NTRU algorithm, gpg-agent will refuse because it does not support the algorithm, which makes it unusable. Now OpenSSH uses this algorithm as the first choice. This makes the probability of encountering this problem greatly increased.<br> </div> Sat, 09 Apr 2022 04:35:20 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890789/ https://lwn.net/Articles/890789/ floppus <div class="FormattedComment"> rsync also has &quot;weird&quot; quoting, though.<br> <p> Without -s, rsync uses the remote shell&#x27;s filename expansion (which I think is the same as scp.)<br> <p> With -s (the supposedly safer option), the behavior is *less* predictable. Suppose the remote host has two files, named &#x27;a\b&#x27; (a backslash b) and &#x27;a\\b&#x27; (a backslash backslash b). Then:<br> <p> &quot;rsync -s &#x27;host:a\b&#x27; .&quot; will copy &#x27;a\b&#x27;: the backslash is literal.<br> <p> &quot;rsync -s &#x27;host:a\\b&#x27; .&quot; will copy &#x27;a\\b&#x27;: both backslashes are literal.<br> <p> &quot;rsync -s &#x27;host:a\\*b&#x27; .&quot; will copy both &#x27;a\b&#x27; and &#x27;a\\b&#x27;: because the argument contains a star, backslashes are treated as escapes.<br> </div> Sat, 09 Apr 2022 01:19:53 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890788/ https://lwn.net/Articles/890788/ cypherpunks2 <div class="FormattedComment"> The addition of NTRU Prime for PQC is a little premature, because a new paper just came out which showed that many LWE schemes are weaker than was previously thought. The paper admits that it is not directly applicable to NTRU (which is not an LWE scheme), but it might be adaptable to it.<br> <p> <a rel="nofollow" href="https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/Fm4cDfsx65s">https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/F...</a><br> <a rel="nofollow" href="https://doi.org/10.5281/zenodo.6412487">https://doi.org/10.5281/zenodo.6412487</a><br> <p> <font class="QuotedText">&gt; NTRU-based cryptosystems are among the leading candidates for lattice-based post-quantum cryptography. In this work, we propose improvements to the dual attack on LWE, and as such our attack is not immediately applicable to NTRU-based cryptosystems. It is an interesting question whether ideas from this work can be adapted to similar improvements to attacks on NTRU. Specifically, there appear to be similarities between the dual attack on LWE and the so-called “hybrid attack” [How07, Wun16] on NTRU. The hybrid attack also involves enumerating over parts of the secret, and then invoking some distinguisher to determine whether a resulting vector is close to a certain constant lattice. It seems reasonable to the writers of this paper that ideas similar to those presented here can be used to reduce the running time of such attacks as well, though anything definitive would of course require further research.</font><br> </div> Sat, 09 Apr 2022 00:16:32 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890786/ https://lwn.net/Articles/890786/ cjwatson <div class="FormattedComment"> Any such workflow had probably already been broken by OpenSSH 8.0&#x27;s scp security fix and would have had to devise a workaround, probably involving switching to something with better-specified semantics.<br> </div> Fri, 08 Apr 2022 23:58:58 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890785/ https://lwn.net/Articles/890785/ cjwatson <div class="FormattedComment"> I wouldn&#x27;t get too distracted by the IETF standards status here. The scp &quot;protocol&quot; is a dismal relic of SSH 1, before all the modern SSH protocol work, and because of the way it relied on calling scp on the remote end it was nearly impossible to extend sensibly.<br> <p> Some may remember the scp security fix from OpenSSH 8.0, which had pretty much no alternative within the traditional protocol but to break some workflows due to that protocol&#x27;s reliance on wildcard expansion by the remote shell. The mere fact that the remote shell&#x27;s parsing rules even had to be involved in copying files should give you the willies about how scp used to work ...<br> <p> PuTTY&#x27;s pscp has used the SFTP protocol for years, incidentally.<br> </div> Fri, 08 Apr 2022 23:57:33 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890782/ https://lwn.net/Articles/890782/ k8to <div class="FormattedComment"> sftp is sometimes annoying to use. scp is sometimes annoying to use. One of these has a lot more &quot;unpleasant surprise&quot; problems that can lead to security problems. <br> <p> sftp isn&#x27;t really my dream utility, but my use of Linux and Unix tools has steadiliy drifted towards &quot;making do wih stuff in the default install&quot; instead of &quot;installing very user-friendly tools&quot;. For better or worse.<br> </div> Fri, 08 Apr 2022 23:29:18 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890780/ https://lwn.net/Articles/890780/ atnot <div class="FormattedComment"> The scp protocol is also not standardized. It less &quot;tried and true&quot; and more &quot;regretful and known to be broken&quot;.<br> </div> Fri, 08 Apr 2022 21:58:37 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890778/ https://lwn.net/Articles/890778/ bof <div class="FormattedComment"> Honest, BECAUSE of scp&#x27;s totally weird quoting behaviour, in all my personal &quot;enterprise&quot; scripting over the years, I absolutely avoided use of it. sftp, sometimes. rsync whenever it comes to file transfers. scp, never ever.<br> </div> Fri, 08 Apr 2022 21:38:32 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890777/ https://lwn.net/Articles/890777/ dullfire <div class="FormattedComment"> Am I just missing something? It looks like sftp only ever made it to rfc-draft stage.<br> <p> So they are trying to replace something tried and true, with something that was never even standardized?<br> </div> Fri, 08 Apr 2022 21:37:55 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890773/ https://lwn.net/Articles/890773/ marduk <div class="FormattedComment"> AFAICT this applies only to wildcard &quot;*&quot; and ~ expansion. The wildcard expansion was using the shell on the server end so originally you would have to escape it to prevent the client shell from expanding it. I interpret this to mean it now works similar to how rsync and wildcard expansion works (IOW the sftpd daemon does the expansion instead of the shell so double-quoting is not necessary). As for which method is &quot;correct&quot; I think is subjective but the argument is that service-side expansion is more secure than shell expansion.<br> <p> As far as tilde &quot;~&quot; expansion I think they are saying that it&#x27;s not part of the protocol and worked &quot;by accident&quot; do to the server-side shell expansion but if the server is running 8.7+ and has the appropriate extension enabled then it will still work.<br> <p> </div> Fri, 08 Apr 2022 19:47:27 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890767/ https://lwn.net/Articles/890767/ cpacejo <div class="FormattedComment"> The quoting change sounds like it will break workflows which correctly perform escaping as needed. E.g., any tool which (correctly) uses scp to transfer files with spaces in their names would now need to be changed to use this new `-O` flag. I expect lots of enterprise workflows to be broken by this. What am I missing?<br> </div> Fri, 08 Apr 2022 18:15:06 +0000 OpenSSH 9.0 released https://lwn.net/Articles/890766/ https://lwn.net/Articles/890766/ cjwatson <div class="FormattedComment"> The description at the top of this article is quite misleading. There are indeed changes to sftp (client and server) here, but those aren&#x27;t what might cause compatibility issues: that comes down to a change in scp to use the sftp protocol instead of the crusty old shell-based protocol.<br> <p> Rarely have I looked forward more to a compatibility break. I&#x27;ve lost count of the number of times I&#x27;ve had to argue with scp&#x27;s obtuse traditional quoting rules.<br> </div> Fri, 08 Apr 2022 18:08:20 +0000