Differentiating between ssh connection failures and ssh command failures

Damien Miller djm at mindrot.org
Sat Sep 12 11:14:07 AEST 2015


On Fri, 11 Sep 2015, Alex Bligh wrote:

> I'm sure this should be an easy question, but from the ssh client manpage:
> 
> EXIT STATUS
>      ssh exits with the exit status of the remote command or with 255 if an error occurred.
> 
> 
> Let's say I'm using
>     ssh server.example.com /usr/bin/do/something
> in (e.g.) a bash script.
> 
> How can one differentiate between a failure of ssh to connect to the host and the
> command in question returning an error? I need to detect both, and differentiate
> between them.

ssh server.example.com /usr/bin/do/something
r=$?
if [ $r -eq 0 ] ; then
	echo success
elif [ $r -eq 255 ] ; then
	echo ssh failed
else
	echo command failed
fi



More information about the openssh-unix-dev mailing list