shell 中scp 和 ssh密码输入 --expect (转:http://blog.sina.com.cn/s/blog_8ad7d4ca01014lft.html)

这里必须先安装:

yum install expect -y

expect是一种自动交互语言,能实现在shell脚本中为scp和ssh等自动输入密码自动登录
下面给出scp和ssh的使用示例:

1、scp

[root@BS-WORKERMAN-NFS package]# cat scp.sh 
#!/bin/bash
src=/package
dsc=/root/
for i in {4,5,6}
do
expect -c " spawn scp -r $src/scp.sh root@10.20.18.2$i:$dsc expect { \"*assword\" {set timeout 300; send \"game2017\.\/\r\";} \"yes/no\" {send \"yes\r\"; exp_continue;} } expect eof" 
done

2、ssh

#!/bin/bash
expect -c "
spawn ssh root@192.168.1.204 \"ls;\"
expect {
    \"*assword\" {set timeout 300; send \"password\r\";}
    \"yes/no\" {send \"yes\r\"; exp_continue;}
      }
expect eof"

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...