使用python的pexpect模块,实现远程免密登录的示例


Posted in Python onFebruary 14, 2019

说明

当我们需要用脚本实现,远程登录或者远程操作的时候,都要去解决如何自动输入密码的问题,一般来说有3种实现方式:

1).配置公钥私钥

2).使用shell下的命令,expect

3).使用python的pexpect模块

下面介绍的代码,是使用python的pexpect模块实现的:

代码

import os
import sys
import pexpect
import datetime

#获取昨天的日期
date_yes = (datetime.date.today()-datetime.timedelta(days=1)).strftime('%Y%m%d')
print date_yes
#远程拷贝名利
cmd="scp /home/lsh/xxx/huike/data/" + date_yes + " data@x.x.x.x:/home/inf/xxx/huike/data/" + date_yes
print cmd
#发送命令,开始执行
child = pexpect.spawn(cmd)
#匹配需要输入密码的状态
child.expect('.ssword:')
#向系统发送密码
child.sendline('123456789')
#结束子进程,不加的话,可能会报错
child.expect(pexpect.EOF)

以上这篇使用python的pexpect模块,实现远程免密登录的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python检测QQ在线状态的方法
May 09 Python
Python中利用sqrt()方法进行平方根计算的教程
May 15 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
浅谈python中的面向对象和类的基本语法
Jun 13 Python
Python正则表达式如何进行字符串替换实例
Dec 28 Python
python线程池(threadpool)模块使用笔记详解
Nov 17 Python
关于Python数据结构中字典的心得
Dec 04 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 Python
使用scrapy实现增量式爬取方式
Jun 21 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 #Python
Python模拟百度自动输入搜索功能的实例
Feb 14 #Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 #Python
python 多个参数不为空校验方法
Feb 14 #Python
python pexpect ssh 远程登录服务器的方法
Feb 14 #Python
Python之时间和日期使用小结
Feb 14 #Python
对Python Pexpect 模块的使用说明详解
Feb 14 #Python
You might like
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
php抽象类使用要点与注意事项分析
2015/02/09 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
js控制表单操作的常用代码小结
2013/08/15 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
python基础教程之元组操作使用详解
2014/03/25 Python
Python中函数的用法实例教程
2014/09/08 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
python处理大日志文件
2019/07/23 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
趵突泉导游词
2015/02/03 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android