首页 > 其他 > 详细

scp使用expect自动输入密码

时间:2020-05-09 17:35:49      阅读:104      评论:0      收藏:0      [点我收藏+]

#!/usr/bin/expect
set timeout 10
set username [lindex $argv 0]
set host [lindex $argv 1]
#{}包起来密码,因为密码中有个“[”会报错,或者使用\转义  解决方法:http://www.itkeyword.com/doc/8240821665859082x125/expect-script-error-missing-close-brackets
set password {[nk3d*****sgj9}
set src_file [lindex $argv 2]
set dest_file [lindex $argv 3]
spawn scp $username@$host:$src_file $dest_file
expect {
"(yes/no)?"
{
send "yes\n"
expect "*assword:" { send "$password\n"}
}
"*assword:"
{
send "$password\n"
}
}
expect "100%"
expect eof

 

执行

./sa.exp root host /root/*.tar.gz /root/

 

针对missing close-bracket的解决办法:

技术分享图片

 

scp使用expect自动输入密码

原文:https://www.cnblogs.com/mosicol/p/12858762.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!