Detectando se o login do ssh falha

0

Eu tenho essa linha para rodar em um script, o problema é que eu tenho que rodar o script em vários hosts (e isso inclui servidores windows) e eu não sei como pegar o erro se o ssh receber algo como "porta 22: Conexão recusada" ou acesso negado:

#!/bin/bash
ssh user@$1 ARG1=$1 'bash -s' <<'ENDSSH'
 commands
 echo "login is OK in $ARG1"
ENDSSH
    
por Vianymoon 12.03.2015 / 04:10

1 resposta

1

deixe-me adivinhar

#!/bin/bash

if  ssh user@$1 ARG1=$1 'bash -s' <<'ENDSSH'
  commands
  echo "login is OK in $ARG1"
ENDSSH
then true
else
  echo not good
fi

observe que

  • o último comando com o shell deve retornar true
  • se o ssh não conseguir se conectar, você vai para echo not good parte do script
por 12.03.2015 / 09:10