OpenSSH 9.9 Features Enhanced Quantum-Resistant Algorithms

OpenSSH 9.9 is out now! Support for post-quantum key exchange, improved security features, and bug fixes.

The OpenSSH project announced the release of OpenSSH 9.9, now available for download on its official mirrors.

This new version introduces significant features, including support for hybrid post-quantum key exchange using a formally verified ML-KEM implementation, improved controls for managing unwanted connections, faster NTRUPrime key exchange code, and more.

OpenSSH 9.9: New Features

One of the most notable additions in OpenSSH 9.9 is the support for a new hybrid post-quantum key exchange method.

This method combines the FIPS 203 Module-Lattice Key Encapsulation Mechanism (ML-KEM) with X25519 Elliptic Curve Diffie-Hellman (ECDH), enhancing security against potential quantum computing threats.

The algorithm, named mlkem768x25519-sha256, is enabled by default, marking a significant step toward post-quantum cryptographic standards.

Additionally, the ssh_configInclude” directive now supports environment variable expansion and the same set of %-tokens as the “Match Exec” option, thus allowing for more flexible and dynamic configuration files.

OpenSSH 9.9 also introduces a new “RefuseConnection” option in sshd_config. When set, it terminates connections at the first authentication request, providing administrators with a tool to drop unwanted connections swiftly.

Complementing this, a new “refuseconnection” penalty class in sshd_configPerSourcePenalties” applies penalties when a connection is dropped using the “RefuseConnection” keyword.

Moreover, the sshd_configMatch” options now include a “Match invalid-user” predicate. This feature matches when the target username is not valid on the server, allowing for more granular control over authentication attempts.

The release also updates the Streamlined NTRUPrime code for a substantially faster implementation, improving overall performance.

Bug Fixes

On the bug fixes side, OpenSSH 9.9 also addresses several bugs:

  • Key Type Name Parsing: Enforces stricter parsing of key type names, allowing only short names in user-interface code and requiring full SSH protocol names elsewhere.
  • Relaxed Absolute Path Requirement: Restores the prior behavior where sshd doesn’t require an absolute path when started in inetd mode.
  • Logging Fixes: Corrects an issue where source and destination addresses were swapped in some sshd log messages.
  • Authorized Keys Handling: Fixes a problem where authorized_keys options were incorrectly applied when signature verification failed.
  • User@Host Parsing: OpenSSH 9.9 ensures consistent parsing by looking for the last “@” in the string, allowing usernames that contain “@” characters.

Deprecation Notice

Keep in mind that OpenSSH plans to remove support for the DSA signature algorithm in early 2025. The 9.9 release disables DSA by default at compile time. DSA, as specified in the SSHv2 protocol, is inherently weakโ€”being limited to a 160-bit private key and use of the SHA1 digest, offering an estimated security level of only 80 bits symmetric equivalent.

OpenSSH has discouraged using DSA keys since 2015, retaining only optional run-time support. The reason is that with better algorithms widely supported across all actively maintained SSH implementations, the costs of maintaining DSA are no longer justified.

Check out the release notes for detailed information about all changes in OpenSSH 9.9.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%