使用expect 实现 scp 文件的时候不手动输入密码

发布于 2022-10-15 05:09:45 字数 1924 浏览 15 评论 0

使用expect 实现 scp 文件的时候不手动输入密码

  1. #!/usr/bin/expect -f  
  2. set password 密码  
  3. spawn scp 用户名@目标机器ip:拷贝文件的路径 存放本地文件的路径   
  4. set timeout 300   
  5. expect "用户名@目标机器ip's password:" #注意:这里的“用户名@目标机器ip” 跟上面的一致  
  6. set timeout 300   
  7. send "$password\r"
  8. set timeout 300   
  9. send "exit\r"
  10.   
  11. expect eof
  12.   
  13. 附:scp参数  
  14. -r:拷贝目录  
  15. -c:允许压缩  
  16. 一个完整的例子  
  17.    
  18. #!/usr/bin/expect -f  
  19. set password 123456  
  20. #download  
  21. spawn scp root@192.168.1.218:/root/a.wmv /home/yangyz/  
  22. set timeout 300   
  23. expect "root@192.168.1.218's password:"
  24. set timeout 300   
  25. send "$password\r"
  26. set timeout 300   
  27. send "exit\r"
  28. expect eof  
  29. #upload  
  30. spawn scp /home/yangyz/abc.sql root@192.168.1.218:/root/test.sql   
  31. set timeout 300   
  32. expect "root@192.168.1.218's password:"
  33. set timeout 300   
  34. send "$password\r"
  35. set timeout 300   
  36. send "exit\r"
  37. expect eof

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文