python Pexpect 实现输密码 scp 拷贝的方法


Posted in Python onJanuary 03, 2019

在服务器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上。

有关以上命令的解释见官方文档的说明。

参考

Pexpect

https://pexpect.readthedocs.io/en/stable/index.html

以上这篇python Pexpect 实现输密码 scp 拷贝的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现自动登录人人网并访问最近来访者实例
Sep 26 Python
详解Python中的变量及其命名和打印
Mar 11 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
Oct 09 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
深入了解NumPy 高级索引
Jul 24 Python
python 两种方法删除空文件夹
Sep 29 Python
Python实现自动整理文件的脚本
Dec 17 Python
如何在vscode中安装python库的方法步骤
Jan 06 Python
python 搭建简单的http server,可直接post文件的实例
Jan 03 #Python
Python中shapefile转换geojson的示例
Jan 03 #Python
Python关于excel和shp的使用在matplotlib
Jan 03 #Python
Python使用folium excel绘制point
Jan 03 #Python
Python获取航线信息并且制作成图的讲解
Jan 03 #Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 #Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 #Python
You might like
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python单例模式实例分析
2015/04/08 Python
python实现下载文件的三种方法
2017/02/09 Python
python中logging库的使用总结
2017/10/18 Python
Python求出0~100以内的所有素数
2018/01/23 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
python sorted函数的小练习及解答
2019/09/18 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
浅析python 字典嵌套
2020/09/29 Python
Python实现疫情地图可视化
2021/02/05 Python
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
阿里巴巴英国:Alibaba英国
2019/12/11 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
学校学期工作总结
2015/08/13 职场文书
信息技术国培研修日志
2015/11/13 职场文书
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python