简述Python Pexpect实现输密码scp拷贝的方法

关于Python开发的技术性文章小编已经分享了不少,本篇文章小编继续给大家分享一篇Python开发的技术性文章,那就是Python Pexpect实现输密码scp拷贝的方法,对Python开发技术感兴趣或者是想要参加Python培训学习的小伙伴可以了解一下哦。

 

扣丁学堂Python培训简述Python Pexpect实现输密码scp拷贝的方法

Python培训

在服务器A上的程序用到服务器B上的文件data,并且需要定期更新文件。 但是直接在bash文件中使用。

scp -P 1000 192.168.199.10:/temp/data /temp

由于权限限制,不能免ssh密码拷贝,会要求输入B机器的密码。本想直接在bash文件中使用Pexpect 来实现自动输入密码,并scp拷贝文件,但是权限的限制导致不能安装使用Pexpect。

最后考虑使用python实现。

环境:

python2.7 centos

from pexpect import *

import os

cwd = os.path.split(os.path.abspath(__file__))[0]

child = spawn("scp -P 1000 192.168.199.5:/temp/data {cwd}".format(cwd=cwd))

child.expect ("password")

child.sendline ("password-for-B ")

child.read()

在网上查到的一些资料中,一般都会少child.read(), 这将使得,scp输入了正确密码,完成链接,但是服务器没有将拷贝的数据文件读取到服务器A上。

想要了解更多关于Python和人工智能方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python开发环境搭建视频,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频直播课定能让你快速掌握Python从入门到精通开发实战技能。
今日头条