时间:2021-05-22
在服务器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(cwd=cwd))child.expect ("password")child.sendline ("password-for-B ")child.read()在网上查到的一些资料中,一般都会少 child.read(), 这将使得,scp输入了正确密码,完成链接,但是服务器没有将拷贝的数据文件读取到服务器A上。
有关以上命令的解释见官方文档的说明。
参考
Pexpect
https://pexpect.readthedocs.io/en/stable/index.html
以上这篇python Pexpect 实现输密码 scp 拷贝的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python实现账号密码输错三次即锁定功能。分享给大家供大家参考,具体如下:初学Python—1#实现账号输错三次即锁定user="hubery"
LinuxSSH远程文件/目录传输命令scp一、scp是什么?scp是securecopy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp
一、scp是什么? scp是securecopy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服
scp是securecopy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密
一、scp是什么?scp是securecopy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而