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开发常用的一些开源Package分享
Feb 14 Python
详解Python发送邮件实例
Jan 10 Python
python socket多线程通讯实例分析(聊天室)
Apr 06 Python
Python中的连接符(+、+=)示例详解
Jan 13 Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 Python
Python跨文件全局变量的实现方法示例
Dec 10 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
python os.path模块常用方法实例详解
Sep 16 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
基于Python实现拆分和合并GIF动态图
Oct 22 Python
python中time tzset()函数实例用法
Feb 18 Python
Python中第三方库Faker的使用详解
Apr 02 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打开文件fopen函数的使用说明
2013/07/05 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python安装whl文件过程图解
2020/02/18 Python
python梯度下降算法的实现
2020/02/24 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
JVM是一个编译程序还是解释程序
2012/09/11 面试题
团队激励口号
2014/06/06 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL