使用expect 实现 scp 文件的时候不手动输入密码
使用expect 实现 scp 文件的时候不手动输入密码
- #!/usr/bin/expect -f
- set password 密码
- spawn scp 用户名@目标机器ip:拷贝文件的路径 存放本地文件的路径
- set timeout 300
- expect "用户名@目标机器ip's password:" #注意:这里的“用户名@目标机器ip” 跟上面的一致
- set timeout 300
- send "$password\r"
- set timeout 300
- send "exit\r"
- expect eof
- 附:scp参数
- -r:拷贝目录
- -c:允许压缩
- 一个完整的例子
- #!/usr/bin/expect -f
- set password 123456
- #download
- spawn scp root@192.168.1.218:/root/a.wmv /home/yangyz/
- set timeout 300
- expect "root@192.168.1.218's password:"
- set timeout 300
- send "$password\r"
- set timeout 300
- send "exit\r"
- expect eof
- #upload
- spawn scp /home/yangyz/abc.sql root@192.168.1.218:/root/test.sql
- set timeout 300
- expect "root@192.168.1.218's password:"
- set timeout 300
- send "$password\r"
- set timeout 300
- send "exit\r"
- expect eof
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论