scp因为安全考虑,每次使用前需要输入密码,但我希望脚本自动化时,可以自动输入密码 此时可以使用python的pexpect自动输入密码
'''
path 本地文件夹路径,scp使用了-r
user 服务器的用户名
passwd 服务器的密码
tpath 上传到服务器的路径
'''
def scp(path, user,ip, passwd, tpath):
passwd_key = '.*assword.*'
shell = 'scp -r {path} {user}@{ip}:{tpath}'.format(
path=path, user=user, ip=ip, tpath=tpath
)
try:
child = pexpect.spawn(shell)
child.expect(passwd_key)
child.sendline(passwd)
child.expect(pexpect.EOF)
print('SCP update success')
except:
print('SCP update faild')