Python Pexpect实现输密码scp拷贝的方法

liftword3个月前 (03-01)技术文章34

关于Python开发的技术性文章小编已经分享了不少,本篇文章小编继续给大家分享一篇Python开发的技术性文章,那就是Python Pexpect实现输密码scp拷贝的方法,对Python开发技术感兴趣或者是想要参加Python培训学习的小伙伴可以了解一下哦。


在服务器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上。

想要了解更多关于Python和人工智能方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python开发环境搭建视频,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频直播课定能让你快速掌握Python从入门到精通开发实战技能。

相关文章

python每日一练之如何copy_python中copy用法

概述今天主要来看看Python中的浅拷贝和深拷贝内容,这里用一个实例来说明~需求:将一个列表的数据复制到另一个列表中。思路:使用列表[:],拿不准可以调用copy模块。实现方法:#!/usr/bin/...

Python复制文件的9种办法 :一文全。

Python复制文件 11 分钟阅读将文件从一个目录复制到另一个目录是一项常见的任务。Python 有许多模块(如 os、subprocess 和 sh-util)来支持文件复制。从这篇文章中,可以获...

Python浅拷贝深拷贝之copy、deepcopy

笔记记录20221205:个人总结:1,两者基本区别不大;2,在涉及到子对象时候,两者才有区别;3,在涉及到子对象,且子对象的操作后内存地址没有发生变化(如下方代码:dic1['one'].appen...

Python3导入自定义模块的3种方式_python导入自定义的py文件

开始第一种,直接 import这里有个大前提,就是你的py执行文件和模块同属于同个目录(父级目录),如下图:main.py 和 pwcong模块同在python目录执行文件为main.pypwcong...

Python Flask 全流程全栈项目实战(完结无秘)

获课地址:789it.top/4964/创建一个全流程全栈的Python Flask项目涉及从前端到后端,以及数据库和部署的各个方面。以下是一个简化的步骤指南,用于构建一个基本的Flask全栈项目。1...

Python实现列表数据的复制_python 把一个列表复制到另一个列表

任务要求将一个已知列表[1, 2, 3, 4, 5] 中的所有数据复制到另一个新列表中。目标是确保新列表与原列表完全独立,同时保留所有数据。任务实现方法一:浅拷贝(直接赋值)。通过直接赋值的方式,将原...