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用ConfigObj读写配置文件的实现代码
Mar 04 Python
Python升级提示Tkinter模块找不到的解决方法
Aug 22 Python
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
Django Admin设置应用程序及模型顺序方法详解
Apr 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
Symfony数据校验方法实例分析
2015/01/26 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
yii2安装详细流程
2018/05/23 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
python用户管理系统的实例讲解
2017/12/23 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python猜数字算法题详解
2020/03/01 Python
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
交通工程专业推荐信
2014/09/06 职场文书
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技