使用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删除特定文件的方法
Jul 30 Python
Python的净值数据接口调用示例分享
Mar 15 Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 Python
python flask 多对多表查询功能
Jun 25 Python
详解Python在七牛云平台的应用(一)
Dec 05 Python
Python 类的特殊成员解析
Jun 20 Python
浅谈python多进程共享变量Value的使用tips
Jul 16 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
基于Django实现日志记录报错信息
Dec 17 Python
基于numpy中的expand_dims函数用法
Dec 18 Python
Python urllib.request对象案例解析
May 11 Python
Python tkinter实现日期选择器
Feb 22 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 curl_init函数用法
2014/01/31 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
php简单复制文件的方法
2016/05/09 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
Python fileinput模块使用介绍
2014/11/30 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
通过代码实例了解Python sys模块
2020/09/14 Python
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
大学生实习思想汇报
2014/01/12 职场文书
会计专业求职信范文
2014/03/16 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
五年级学生评语大全
2014/12/26 职场文书
小学教师见习总结
2015/06/23 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL