ssh-add(1) on Solnix vs Linux and the BSDs
On a default Solnix system ssh-add is OpenSSH's ssh-add, from the openssh package in the base system. Its options match FreeBSD, Linux, NetBSD and OpenBSD except for -N, -P, -Q and the list of default key files.
The manual pages
- Solnix: ssh-add(1) from
pkgs.solnix.openssh - Linux: ssh-add(1) openssh-10.5p1
- FreeBSD: ssh-add(1) 15.1-RELEASE
- OpenBSD: ssh-add(1) 8.0
- NetBSD: ssh-add(1) 11.0
What Solnix runs
The command on PATH is the OpenSSH ssh-add from the base system packages. No other variants are shipped. The Solnix page does not state which OpenSSH release it tracks; the Linux page is for openssh-10.5p1.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux, OpenBSD, NetBSD | -Q (query agent extensions) | Linux, OpenBSD and NetBSD have ssh-add -Q, which asks the agent for the protocol extensions it supports. The Solnix synopsis and options list have no -Q, so a script using it will fail on Solnix.Source: Linux ssh-add(1) SYNOPSIS, -Q; OpenBSD ssh-add(1) -Q; NetBSD ssh-add(1) -Q; Solnix ssh-add(1) SYNOPSIS and OPTIONS |
| OpenBSD | -P (no PIN prompt) | OpenBSD has -P, which skips the PIN request when loading PKCS#11 or FIDO keys and fails if the token needs one. Solnix has no -P.Source: OpenBSD ssh-add(1) SYNOPSIS, -P; Solnix ssh-add(1) SYNOPSIS |
| FreeBSD | -N (certificate expiry) | Solnix has -N, which stops ssh-add asking the agent to delete a certificate shortly after its expiry date. The FreeBSD synopsis has no -N.Source: Solnix ssh-add(1) -N; FreeBSD ssh-add(1) SYNOPSIS |
| Linux, OpenBSD | default identity files | With no arguments, Linux and OpenBSD ssh-add also load ~/.ssh/id_mldsa44_ed25519. Solnix loads only id_rsa, id_ecdsa, id_ecdsa_sk, id_ed25519 and id_ed25519_sk, and so do FreeBSD and NetBSD. Source: Solnix ssh-add(1) DESCRIPTION; Linux ssh-add(1) DESCRIPTION; OpenBSD ssh-add(1) DESCRIPTION; FreeBSD ssh-add(1) DESCRIPTION; NetBSD ssh-add(1) DESCRIPTION |
| Linux, OpenBSD | default removal with -d | ssh-add -d with no arguments removes the default identities and their certificates. Because the default list differs, it covers id_mldsa44_ed25519 on Linux and OpenBSD but not on Solnix.Source: Solnix ssh-add(1) -d and DESCRIPTION; Linux ssh-add(1) -d and DESCRIPTION; OpenBSD ssh-add(1) -d and DESCRIPTION |
| Linux | same program | Linux and Solnix both document OpenSSH ssh-add. The documented options, including -h destination constraints, -H, -E, -T, -s, -e, -K, -S, -t, -x and -X, are the same apart from the -Q difference.Source: Solnix ssh-add(1) OPTIONS; Linux ssh-add(1) OPTIONS |
Standards
- POSIX: ssh-add is not a POSIX.1-2024 utility.
Writing portable scripts
- Name key files explicitly instead of relying on ssh-add with no arguments. The default key list differs between systems.
- Do not use
-Qor-Pin portable scripts.-Qis missing on Solnix and FreeBSD, and-Pexists only on OpenBSD.
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.