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下MySQLdb用法实例分析
Jun 08 Python
Python入门_学会创建并调用函数的方法
May 16 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
Pytorch中accuracy和loss的计算知识点总结
Sep 10 Python
Python 线程池用法简单示例
Oct 02 Python
python cv2在验证码识别中应用实例解析
Dec 25 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
Pytest如何使用skip跳过执行测试
Aug 13 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 Python
使用Python开发冰球小游戏
Apr 30 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
用mysql内存表来代替php session的类
2009/02/01 PHP
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
js中的this关键字详解
2013/09/25 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
干货!教大家如何选择Vue和React
2017/03/13 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
使用pandas读取文件的实现
2019/07/31 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
乔丹名人堂演讲稿
2014/05/24 职场文书
低碳环保演讲稿
2014/08/28 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
2014年环保工作总结
2014/11/26 职场文书
职称评定个人总结
2015/03/05 职场文书
匿名信格式范文
2015/05/27 职场文书
MySQL批量更新不同表中的数据
2022/05/11 MySQL