开发者

shell脚本自动输入用户名和密码的实现

场景:

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 自动输入密码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新运维

运维排行榜