Я пытаюсь bash скрипт, где я беру аргумент файла, который имеет IP-адрес. Я использую sshpass, но с этим я не могу знать, был ли s sh вход успешным или нет. Есть ли способ проверить это? Пожалуйста, предложите, если не sshpass, мне нужно использовать какой-либо другой cmd, чтобы выполнить удаленный вход и выполнить cmds?
Вот фрагмент кода:
#!/bin/bash
filename="$1"
while read -r line; do
sshpass -p 'test' ssh -o StrictHostKeyChecking=no test@$line 'df -h'
done < "$filename"
Пробовали предлагаемый способ проверки $? значение (если его неверный пароль, $? значение будет 5, однако с действительным или недействительным паролем, сценарий оболочки не отображает «неправильный пароль», он всегда повторяет «Можно ли sh в поле - Пароль правильный» в соответствии с следующий код:
#!/bin/bash
filename="$1"
while read -r line; do
sshpass -p 'test' ssh -o StrictHostKeyChecking=no test@$line 'df -h'
if [ $? -eq 5]
then
echo "Wrong password"
else
echo "Can ssh to box- Password is correct"
fi
done < "$filename"
Мое требование - s sh для удаленного блока и выполнять команды. А в случае сбоя s sh, т. е. пароль недействителен, необходимо напечатать, что пароль недействителен .