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 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
python获取各操作系统硬件信息的方法
Jun 03 Python
Python中的变量和作用域详解
Jul 13 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
简单了解Python生成器是什么
Jul 02 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
关于sys.stdout和print的区别详解
Dec 05 Python
Python列表解析操作实例总结
Feb 26 Python
python 实现有道翻译功能
Feb 26 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
php轻松实现中英文混排字符串截取
2014/05/28 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
javascript import css实例代码
2008/07/18 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
JS实现多选框的操作
2020/06/24 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
django文档学习之applications使用详解
2018/01/29 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
电子信息专业自荐书
2014/02/04 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
重阳节简报
2015/07/20 职场文书
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL