Я использовал ниже две функции для входа на некоторые удаленные устройства. приведенный ниже код прекрасно работает для telnet, т.е. после вызова функции SERVICECHECK он запускает функцию LOGIN и отображает несколько команд на удаленных устройствах, первая команда - пароль. недавно мне пришлось перейти на SSH, а с SSH я попробовал следующее вариантов, и он достигает и остается в приглашении пароля.
ssh -T -q -o "StrictHostKeyChecking no" $ myuser @ $ IP -p $ PORT
Я пробовал указанную выше команду с помощью утилиты sshpass -p "$ mypass", и она также работала нормально, я мог войти в систему на удаленных устройствах, отобразить несколько команд и получить вывод. в настоящее время у меня нет утилиты sshpass, и при попытке входа в систему используется следующий код, и эхо пароля внутри функции не работает. Может кто-нибудь помочь с паролем, как я могу отправить пароль на удаленное устройство?
https://meta.stackoverflow.com/users/13317/kenster может, Кенстер может ответить на этот вопрос?
LOGIN()
{
(
ssh -T -q -o "StrictHostKeyChecking no" $myuser@$IP -p $PORT
)
}
SERVICECHECK()
{
(
echo "$mypass"
echo .. # some commands
echo "logout"
) | LOGIN $IP $PORT
}
SERVICECHECK