Variables 在ksh脚本中使用用户输入的密码

Variables 在ksh脚本中使用用户输入的密码,variables,scripting,passwords,ksh,Variables,Scripting,Passwords,Ksh,在AIX服务器上,我有一个ksh脚本,它提示用户输入密码,将密码保存到临时文件中,然后使用临时文件的内容为远程服务器上运行的sudo命令提供密码(以运行远程脚本)。 我对这种方法不满意,希望用户的密码不记录在文件中 下面是脚本中内容的简化版本 !/bin/ksh stty -echo printf "Password: " read rslt stty echo printf "\n" echo $rslt>./rslt for svrx in svr1 svr2 svr3 svr4

在AIX服务器上,我有一个ksh脚本,它提示用户输入密码,将密码保存到临时文件中,然后使用临时文件的内容为远程服务器上运行的sudo命令提供密码(以运行远程脚本)。
我对这种方法不满意,希望用户的密码不记录在文件中

下面是脚本中内容的简化版本

!/bin/ksh

stty -echo
printf "Password: "
read rslt
stty echo
printf "\n"
echo $rslt>./rslt

for svrx in svr1 svr2 svr3 svr4 svr5 svr6 svr7 svr8 svr9
do
print "Connecting to $svrx and getting the StationList..."
ssh -q $svrx /usr/local/bin/sudo -S /home/myuserid/scriptname <./rslt >${svrx}.output.txt
print "Done"
done 
rm ./rslt
/bin/ksh
stty-echo
printf“密码:”
读rslt
短回声
printf“\n”
echo$rslt>/rslt
对于svr1 svr2 svr3 svr4 svr5 svr6 svr7 svr8 svr9中的svrx
做
打印“连接到$svrx并获取StationList…”
ssh-q$svrx/usr/local/bin/sudo-S/home/myuserid/scriptname${svrx}.output.txt
打印“完成”
完成
rm./rslt
我的问题是,;脚本是否可以使用变量中的密码,而不是像我目前使用的“sudo-S”那样从文件中读取密码

我没有安装expect或任何其他软件或UTIL所需的权限


非常感谢

你的剧本并不像你想象的那样;即使重定向stdin,ssh也会从/dev/tty读取密码。我的意思是说,密码是从temp文件传递到sudo命令的(不是我前面说过的ssh)。我已编辑我的问题以删除该错误。谢谢。我想试试whis:
ssh$svrx“echo'$rslt'| sudo-S/home/myuserid/scriptname”
,效果不错!非常感谢你,兹奇蒙德。你能把它写下来作为回答吗?所以这个问题不会没有答案。