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字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
利用Python获取操作系统信息实例
Sep 02 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
python实现代码统计器
Sep 19 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 Python
浅谈Python程序的错误:变量未定义
Jun 02 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
详解python模块pychartdir安装及导入问题
Oct 22 Python
pytorch 6 batch_train 批训练操作
May 28 Python
Python机器学习之基于Pytorch实现猫狗分类
Jun 08 Python
Python实现列表拼接和去重的三种方式
Jul 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编程效率的53个要点(经验小结)
2010/09/04 PHP
php数组生成html下拉列表的方法
2015/07/20 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
Prototype Number对象 学习
2009/07/19 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
分享Python字符串关键点
2015/12/13 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Win8下python3.5.1安装教程
2020/07/29 Python
python制作mysql数据迁移脚本
2019/01/01 Python
python字符串判断密码强弱
2020/03/18 Python
Python必须了解的35个关键词
2020/07/16 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
军训自我鉴定范文
2014/02/13 职场文书
满月酒主持词
2014/03/27 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
保管员岗位职责
2015/02/14 职场文书
2014年个人总结范文
2015/03/09 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
进行数据处理的6个 Python 代码块分享
2022/04/06 Python