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 urllib模块urlopen()与urlretrieve()详解
Nov 01 Python
Python程序设计入门(5)类的使用简介
Jun 16 Python
Python re模块介绍
Nov 30 Python
用Python实现一个简单的线程池
Apr 07 Python
python3大文件解压和基本操作
Dec 15 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
Python读取系统文件夹内所有文件并统计数量的方法
Oct 23 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
一文轻松掌握python语言命名规范规则
Jun 18 Python
Python 解析xml文件的示例
Sep 29 Python
python3字符串输出常见面试题总结
Dec 01 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 获取全局变量的代码
2011/04/21 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
IE8 浏览器Cookie的处理
2009/01/31 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
numpy自动生成数组详解
2017/12/15 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
python求绝对值的三种方法小结
2019/12/04 Python
python2 对excel表格操作完整示例
2020/02/23 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
函授本科毕业自我鉴定
2013/10/09 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电
Python数组变形的几种实现方法
2022/05/30 Python
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers