ssh-keygen(1) on Solnix vs Linux and the BSDs

On Solnix, ssh-keygen is the OpenSSH ssh-keygen from pkgs.solnix.openssh, which is in the base system packages. Its synopsis and options match FreeBSD and NetBSD. Linux and OpenBSD add the mldsa44-ed25519 key type, and OpenBSD defaults to 32 KDF rounds, not 16.

What Solnix runs

A default Solnix system runs the OpenSSH ssh-keygen from pkgs.solnix.openssh, which is part of the base system packages. No other variants are shipped. The bundle trims the Solnix page after the -I option, so later sections (CERTIFICATES, FILES, STANDARDS and others) are not covered here.

Differences

Compared withTopicWhat differs
Linux, OpenBSDmldsa44-ed25519 key typeThe Linux and OpenBSD -t lists include mldsa44-ed25519. The Solnix -t list is ecdsa, ecdsa-sk, ed25519, ed25519-sk and rsa, so a script that asks for mldsa44-ed25519 has no documented support on Solnix.
Source: Solnix ssh-keygen(1) SYNOPSIS (-t); Linux ssh-keygen(1) SYNOPSIS (-t); OpenBSD ssh-keygen(1) SYNOPSIS (-t)
Linux, OpenBSD-A host key typesOn Linux and OpenBSD, ssh-keygen -A generates rsa, ecdsa, mldsa44-ed25519 and ed25519 host keys. On Solnix, FreeBSD and NetBSD it generates only rsa, ecdsa and ed25519.
Source: Solnix ssh-keygen(1) -A; Linux ssh-keygen(1) -A; OpenBSD ssh-keygen(1) -A; FreeBSD ssh-keygen(1) -A; NetBSD ssh-keygen(1) -A
Linux, OpenBSDdefault key file namesThe Linux and OpenBSD DESCRIPTION also lists ~/.ssh/id_mldsa44_ed25519 as a user key file. The Solnix page lists id_ecdsa, id_ecdsa_sk, id_ed25519, id_ed25519_sk and id_rsa only.
Source: Solnix ssh-keygen(1) DESCRIPTION; Linux ssh-keygen(1) DESCRIPTION; OpenBSD ssh-keygen(1) DESCRIPTION
OpenBSD-a default KDF roundsThe OpenBSD page gives 32 as the default number of bcrypt_pbkdf rounds when saving a private key. Solnix, Linux, FreeBSD and NetBSD give 16. Keys saved with the default on OpenBSD cost more per passphrase check.
Source: OpenBSD ssh-keygen(1) -a; Solnix ssh-keygen(1) -a
NetBSDhost key generation referenceThe NetBSD DESCRIPTION says host keys are generated in /etc/rc.d/sshd. Solnix, Linux, FreeBSD and OpenBSD say /etc/rc. The Solnix page does not name a Solnix-specific script.
Source: NetBSD ssh-keygen(1) DESCRIPTION; Solnix ssh-keygen(1) DESCRIPTION
FreeBSD, NetBSDsame option set as SolnixThe FreeBSD and NetBSD synopses and option lists match Solnix in the extracted text: same -t types, same -A types and the same 16-round default. A script that works on those two should work here for the documented options.
Source: Solnix, FreeBSD and NetBSD ssh-keygen(1) SYNOPSIS, -A, -a
all fourcommon defaultsOn all five systems, ssh-keygen with no arguments generates an Ed25519 key, the RSA default is 3072 bits with a 1024-bit minimum, -E defaults to sha256 and -e exports RFC4716 by default. These are not differences.
Source: DESCRIPTION and -b on all five ssh-keygen(1) pages; Solnix ssh-keygen(1) -E, -e

Standards

  • POSIX: ssh-keygen is not a POSIX.1-2024 utility.

Writing portable scripts

  • Pass -t explicitly (for example -t ed25519) and avoid mldsa44-ed25519, which is not in the Solnix, FreeBSD or NetBSD -t lists.
  • Set -a rounds explicitly if you need the same KDF cost everywhere, since the OpenBSD default (32) differs from the others (16).

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.