With the 8.2 release of OpenSSH, they have declared that ssh-rsa
for SHA-1 will soon be removed from the defaults:
Future deprecation notice
It is now possible[1] to perform chosen-prefix attacks against the SHA-1 hash algorithm for less than USD$50K. For this reason, we will be disabling the
ssh-rsa
public key signature algorithm that depends on SHA-1 by default in a near-future release.This algorithm is unfortunately still used widely despite the existence of better alternatives, being the only remaining public key signature algorithm specified by the original SSH RFCs.
If I have (and might use, but not sure where) an ssh-rsa
key, what are the next steps for me? Pretend I don't have another key yet.
So far, I've been supposing this process:
- Generate new key(s).
- Change to new keys for known services.
- Rename the old key(s) so they are not automatically offered to remotes.
- Then when I try a server that used to work, it will reject me and I'll swap it to the replacement key.
- Anything else?
ssh-rsa
keys were SHA-1, since there are other RSA keys that explicitly mention their SHA algorithm. I suspect that people who are looking for this question will have the same misconception.