← Back to context

Comment by traceroute66

2 days ago

To be fair, I have less than zero sympathy for anyone who runs SSH on any platform without `PasswordAuthentication=no` in 2026.

Its not asking for trouble, it is there will be trouble, not if but when.

As for the people who say "well, I run SSH on port 942329053052". Well guess what, the bots make short work on that. We tried it at $work as an experiment, multiple bots found it in less than a couple of hours. That's why your SSH config must be hardened, preferably running on a hardened OS too.

> Its not asking for trouble, it is there will be trouble, not if but when.

Did any of those bots brute force a password? Because a 20 character random password is comparable in brute force complexity to an SSH key. The experiment you ran was just as valid for SSH keys on that port, and had no bearing on password vs key.

  • > Did any of those bots brute force a password?

    The point is they found the security by obscurity so-called "hidden" port in less than a couple of hours.

    At that point, what they did is irrelevant. The point is that security by obscurity does not work in 2026.

    > Because a 20 character random password is comparable in brute force complexity to an SSH key.

    You can't be serious with your comment.

    No its not.

    And even then, SSH key is asymmetric, you're not sending the private key to the server. But with a password you are, which leaves you vulnerable to many attack vectors that simply do not exist with keys.

    • Other points are fine, but why do you say a 20-character random password isn’t comparable in brute force complexity to an SSH key?

    • > The point is that security by obscurity does not work in 2026.

      I feel the opposite, note how most all AI vulns discovered use source code level analysis, empirically keeping source code hidden is more secure.

      kerchoff’s principle is misconstrued by a voyeuristic internet that wants to see source code

      2 replies →

    • > > Because a 20 character random password is comparable in brute force complexity to an SSH key.

      > You can't be serious with your comment. \n\n No its not.

      If you differ in opinion, maybe provide evidence? Especially for a claim like long randomly generated value 1 being absurdly ("can't be serious"-level) weak as compared to long randomly generated value 2

      If you mean it's log(62^20,2)≈119 bits of entropy instead of 128+ and so it's theoretically weaker when we build a Dyson sphere around the sun to brute force that key (after somehow obtaining the shadow file, since an online attack would be way too slow), then sure

How is password auth weaker than key auth? Bugs in auth code can happen in both pathways. And apart from stupidly short passwords both should be equally impossible to brute-force.

In other words, conceptually, at the end if the day, isn’t a key just another name for a password, really?

  • Password gets sent to the server. Private key does not get sent to the server, and authentication protocol can be forwarded safely, enabling things like ssh-agent, FIDO SSH keys. This is solvable with passwords (see: augmented PAKE), but `PasswordAuthentication` isn’t that. But there are also settings where none of this really matters, yes, to be fair if that’s what you’re referring to.

    SSH certificates are cool too.

  • What people think of as a very strong password often has <100 "security bits" of entropy.

    Keys are usually at least 128 bits of entropy, and it's easy to take them up to 256.

    Yes, both are a shared secret, but password auth - even with challenge-response - is weaker than key auth exactly because key auth provides more guess resistance.

  • Password reuse is the problem. The password hash is stolen from some other site and brute forced offline.

    • Same issue with key reuse. Unless you have a policy to rotate them and verify which host they login from, someone's unencrypted hard drive from 5 years ago is more likely to have a key than password.

      1 reply →

  • > How is password auth weaker than key auth?

    Well, it's a heck of a lot weaker in this instance (at least when `PasswordAuthentication no`)

    • In this specific instance yes, but it seems like it could have about as easily been a perfect cascade of failures in janky libc routines for checking keys as opposed to janky libc routines checking passwords.

100% and with local tool calls many AI systems will do ssh "for you" and end run around any security theatre that you may have going on with LLMs.

I run SSH with password authentication on but the port binds to a ULA address. It’s fine. No need to be so absolutist.

  • > No need to be so absolutist.

    Why not ?

    Even if you don't want to go all the way to SSH certificates, SSH public-key authentication is laughably easy to do.

    I also don't buy the argument "but its on a ULA address". Attacker's old favourite these days is finding a way in (North–South) and then using that as a stepping stone (East–West). Also the general concept of "lower security is OK because its on the LAN" is so 1997.

    • Yeah because if attackers are already finding a way in, they can easily read my ~/.ssh/id_ed25519. A password is strictly better, although not by much because lateral movement is very easy anyways. The only exception is if the private key is actually on a HSM, which is the case for all my SSH private keys on iOS.

      3 replies →

Running on that port would be perfectly safe as it's outside the range of valid port numbers.

This particular bug works even with password authentication turned off.

  • Where did you get that idea? The entire bug is about password hashing. With password auth off, that's not even attempted.

    • The exploit works for a user account that has no password. This is often confused with turning off password auth, especially in containers that have only one usable account.

      It's not just the parent commenter. I'm sure somebody out there is going to remove their account password instead of editing their sshd_config in an attempt to "patch" this vulnerability, actually exacerbating the problem.

  • Bug > are password logins still on? they are by default

    You > This particular bug works even with password authentication turned off.

    No. The bug is related to password authentication. If you do not have password authentication then you are not affected.

    What freaks some people out is they chose parameters where they do have password authentication but they expect to always fail. That's a bad choice, like OK you did fit a cheap manual keyhole, but you threw the keys away thinking now nobody can open that - you realise somebody with a cheap jiggler can open it right ?

  • > This particular bug works even with password authentication turned off.

    Does it ?

    Somebody here has already said "You can set PasswordAuthentication=no or update to remediate"

    We don't use musl at $work anyway, so I've no means to test.

N=2 but non-22 ssh ports get almost zero traffic for me at home and at work. Not zero - but very nearly zero. shrug.

I mean there are 65k possible ports so it's the equivalent of guessing an 16 bit password, i.e. two (extended) ascii characters. It's not very surprising that 'multiple bots' found it: a single `nmap` command will give you the open ports in a few seconds.