Вы можете задать дополнительную опцию для ssh
, которая устанавливает его в BatchMode
BatchMode
Если установлено yes
, запрос пароля или пароля будетбыть отключенным.Эта опция полезна в сценариях и других пакетных заданиях, где нет ни одного пользователя для ввода пароля.Аргумент должен быть yes
или no
(по умолчанию).
источник: man sshconfig
Следующеестрока вернет запрошенный код ошибки
ssh -oBatchMode=yes user@server echo > /dev/null 2>&1
. Она вернет 0
, если сможет войти в систему, и вернет ненулевое значение (255), если не удастся войти.
Таким образом, вы можете сделать что-то вроде:
ssh -oBathMode=yes "${user}@${server}" echo > /dev/null 2>&1 && echo "Success" || echo "No Connection"
Или вы даже можете позволить серверу ответить на Success как
ssh -oBathMode=yes "${user}@${server}" echo Success 2>/dev/null || echo "No Connection"