我一直在使用以下两个功能登录某些远程设备。下面的代码适用于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