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.
The manual pages
- Solnix: ssh-keygen(1) from
pkgs.solnix.openssh - Linux: ssh-keygen(1) openssh-10.5p1
- FreeBSD: ssh-keygen(1) 15.1-RELEASE
- OpenBSD: ssh-keygen(1) 8.0
- NetBSD: ssh-keygen(1) 11.0
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 with | Topic | What differs |
|---|---|---|
| Linux, OpenBSD | mldsa44-ed25519 key type | The 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 types | On 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, OpenBSD | default key file names | The 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 rounds | The 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 |
| NetBSD | host key generation reference | The 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, NetBSD | same option set as Solnix | The 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 four | common defaults | On 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
-texplicitly (for example-ted25519) and avoid mldsa44-ed25519, which is not in the Solnix, FreeBSD or NetBSD-tlists. - Set
-arounds 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.