场景:
shell脚本中,scp和ssh连接时,自动输入用户名和密码。
解决方案:
例:
#SpVgyNAm!/bin/bash remoteIp=IP remoteUser=用户名 remotePw=密码 function download(){ remoteFile=$1 localDir=$2 expect << EOF set timeout 1200; spawn scp -r -p $remoteUser@$remot开发者_devopseIp:"$remoteFile" "$localDir" expect{ "*ySpVgyNAmes/no*" {send "yes\n";exp_continue} "*Permission denied*" {exit 1} "*password*"http://www.devze.com {send "$remotePw\n";exp_continue} "*Killed by signal 1" {exit 1} } EOF } fucntion remoteCmd(){ cmd=$1 expect << EOF set ti编程客栈meout 1200; spawn ssh $remoteUser@$remoteIp expect{ "*yes/no*" {send "yes\n";exp_continue} "*Permission denied*" {exit 1} "*password*" {send "$remotePw\n";exp_continue} "*\$ " {send "\n"} } expect "*\$ " {send "$cmd\n"} expect "*\$ " {send "exit\n"} EOF } remoteCmd "ls -l"
到此这篇关于编程客栈Shell 脚本自动输入密码的三种方式小结的文章就介绍到这了,更多相关Shell 自动输入密码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
精彩评论