巴州网站建设库尔勒网站建设钟爱网络,杭州微信网站制作,seo诊断站长,男人最爱的做网站在服务器A上的程序用到服务器B上的文件data#xff0c;并且需要定期更新文件。 但是直接在bash文件中使用scp -P 1000 192.168.199.10:/temp/data /temp由于权限限制#xff0c;不能免ssh密码拷贝#xff0c;会要求输入B机器的密码。本想直接在bash文件中使用Pexpect 来实现…在服务器A上的程序用到服务器B上的文件data并且需要定期更新文件。 但是直接在bash文件中使用scp -P 1000 192.168.199.10:/temp/data /temp由于权限限制不能免ssh密码拷贝会要求输入B机器的密码。本想直接在bash文件中使用Pexpect 来实现自动输入密码并scp拷贝文件但是权限的限制导致不能安装使用Pexpect 。最后考虑使用python实现。环境python2.7 centosfrom pexpect import *import oscwd os.path.split(os.path.abspath(__file__))[0]child spawn(scp -P 1000 192.168.199.5:/temp/data {cwd}.format(cwdcwd))child.expect (password)child.sendline (password-for-B )child.read()在网上查到的一些资料中一般都会少 child.read() 这将使得scp输入了正确密码完成链接但是服务器没有将拷贝的数据文件读取到服务器A上。有关以上命令的解释见官方文档的说明。参考Pexpecthttps://pexpect.readthedocs.io/en/stable/index.html以上这篇python Pexpect 实现输密码 scp 拷贝的方法就是小编分享给大家的全部内容了希望能给大家一个参考也希望大家多多支持脚本之家。