Exit status on `ssh-add` failure
Wiktor Kwapisiewicz via openssh-unix-dev <[email protected]> Wed, 20 May 2026 13:04:03 +0200
| Newsgroups | gmane.network.openssh.devel |
|---|---|
| Organization | Metacode |
| Message-ID | <[email protected]> |
Hi, I'm developing a library for building custom SSH agents and noticed that OpenSSH's `ssh-add` doesn't return non-zero exit code on some failures: $ SSH_AUTH_SOCK=/tmp/test.sock ssh-add client Identity added: client (test-client) Certificate client-cert.pub (client) add failed: communication with agent failed $ echo $? 0 The certificate has not been added due to agent protocol error but ssh-add still returned exit code 0. The EXIT STATUS section of the manpage for ssh-add states: "Exit status is 0 on success, 1 if the specified command fails, and 2 if ssh-add is unable to contact the authentication agent." but it doesn't mention what happens when the command partially succeeds (identity has been added but the certificate not). Is that the intended behavior of ssh-add? Thank you for your time and help! Kind regards, Wiktor For reference, the link to my user's report: https://github.com/wiktor-k/ssh-agent-lib/pull/101#issuecomment-4259465799