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使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
python中解析json格式文件的方法示例
May 03 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 Python
Python学习笔记之集合的概念和简单使用示例
Aug 22 Python
Python二元赋值实用技巧解析
Oct 25 Python
使用python的turtle绘画滑稽脸实例
Nov 21 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
python实现扫雷游戏的示例
Oct 20 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
PHP函数in_array()使用详解
2014/08/20 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
js异或加解密效果代码
2008/06/25 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
从零学python系列之从文件读取和保存数据
2014/05/23 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
计算机软件个人的自荐信范文
2013/12/01 职场文书
中学教师自我鉴定
2014/02/07 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
施工安全责任书
2014/04/14 职场文书
2014年消防工作总结
2014/11/21 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
python入门之算法学习
2021/04/22 Python
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技