Skip to content

/changelogs/ssh/openssh-9-9-to-10

OpenSSH 9.9 to 10.x: incompatible changes from 10.0 to 10.6

The commands on this page have not been executed by our verification runner yet.updated 2026-10-20
tool
OpenSSH
versions
9.9 → 10.6

OpenSSH 10.0 was released on 2025-04-09 and 10.6 on 2026-10-06. The upgrade from 9.9 matters mostly if you still use DSA keys, old servers that only speak modp Diffie-Hellman, or scripts that parse the version string. The list below covers the "potentially-incompatible changes" of every 10.x release.

10.0 (2025-04-09)

  • DSA removed. DSA keys and signatures no longer work at all. Replace id_dsa keys with Ed25519 (ssh-keygen -t ed25519).
  • No modp DH in sshd by default. diffie-hellman-group* and diffie-hellman-group-exchange-* are no longer in sshd's default KEXAlgorithms. The client still supports them.
  • scp and sftp pass ControlMaster no to ssh, so they no longer create a multiplexing master implicitly.
  • Version string SSH-2.0-OpenSSH_10.0: software matching OpenSSH_1* can mistake it for version 1.x.

10.1 (2025-10-06)

  • ssh warns when the connection uses a key agreement that is not post-quantum (WarnWeakCrypto, on by default).
  • New DSCP defaults: interactive traffic is marked EF; IPQoS ToS keywords (lowdelay, throughput, reliability) are ignored.
  • ssh-agent and forwarded agent sockets move from /tmp to ~/.ssh/agent; ssh-agent -T restores /tmp.
  • ssh-add gives certificates an agent lifetime of their expiry plus 5 minutes (ssh-add -N disables this).
  • Experimental XMSS key support is removed.

10.3 (2026-04-02)

  • Bug compatibility for implementations that cannot rekey is removed; such peers eventually disconnect.
  • A certificate with an empty principals section no longer matches every principal through authorized_keys principals="".
  • -J / ProxyJump on the command line validates user and host names.

10.4 (2026-07-06)

  • sshd -G prints directives in mixed case (PubkeyAuthentication) instead of lower case.
  • On Linux, failing to enable the seccomp sandbox is fatal.
  • Peers that send non-KEX messages during a post-authentication rekey are disconnected.

10.5 (2026-08-11) and 10.6 (2026-10-06)

  • 10.5: portable OpenSSH requires ECC support (including NIST P-521) in libcrypto.
  • 10.6: user names typed on the command line may not contain backslash or $; names set with User in config files are not restricted. Compression is less effective because of a security fix.

Check before you upgrade

bash
ssh -V
ssh -Q key          # key types the client supports
ls ~/.ssh/id_dsa*   # any DSA key must be replaced

Sources