[PATCH] ssh-add: support parser-friendly operation

Corey Hickey bugfood-ml at fatooh.org
Fri Jan 10 10:33:46 AEDT 2025


On 2025-01-09 15:27, Corey Hickey wrote:
> From: Corey Hickey <chickey at tagged.com>
> 
> When ssh-add is used in a script like:
> 
>      if ! KEY_LISTING=$(ssh-add -l 2>&1) ; then
>          echo "SSH agent error" >&2
>          exit 2
>      fi
> 
> ...the operation fails when there is an agent but there are no keys in
> the agent. This is because ssh-add exits with status of 1. If the
> intent is to examine the keys in the agent, then this behavior is
> undesired and not easily distinguishable from an error (e.g. no agent
> running).
> 
> To address this, add a new option -p to make ssh-add behavior more
> friendly to parsing.

I took the approach of preserving current behavior by default, but 
another approach would be to:

* print "The agent has no identities." to stderr instead of stdout
* exit with a status of 0 instead of 1

If that alternate approach would be better, please let me know and I
will send a new patch.

Thank you,
Corey


More information about the openssh-unix-dev mailing list