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 相关文章推荐
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
Python 列表(List) 的三种遍历方法实例 详解
Apr 15 Python
python实现报表自动化详解
Nov 16 Python
Python实现批量压缩图片
Jan 25 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
python3调用windows dos命令的例子
Aug 14 Python
python ctypes库2_指定参数类型和返回类型详解
Nov 19 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
基于Python测试程序是否有错误
May 16 Python
keras的ImageDataGenerator和flow()的用法说明
Jul 03 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
python实现登录与注册系统
Nov 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
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
PHP7新特性简述
2017/06/11 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Django添加feeds功能的示例
2018/08/07 Python
Django框架模板介绍
2019/01/15 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Python csv文件记录流程代码解析
2020/07/16 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
求职信内容考虑哪几点
2013/10/05 职场文书
乔迁宴答谢词
2014/01/21 职场文书
公安学专业求职信
2014/07/27 职场文书
学生检讨书
2015/01/27 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
《给予树》教学反思
2016/03/03 职场文书
MySQL之DML语言
2021/04/05 MySQL
python spilt()分隔字符串的实现示例
2021/05/21 Python