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:
>      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
if [ $r -eq 0 ] ; then
	echo success
elif [ $r -eq 255 ] ; then
	echo ssh failed
	echo command failed

More information about the openssh-unix-dev mailing list