使用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合并文本文件示例
Feb 07 Python
python实现带验证码网站的自动登陆实现代码
Jan 12 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
Python并发编程协程(Coroutine)之Gevent详解
Dec 27 Python
Linux CentOS7下安装python3 的方法
Jan 21 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
PyQt5 QTableView设置某一列不可编辑的方法
Jun 25 Python
django云端留言板实例详解
Jul 22 Python
python异步编程 使用yield from过程解析
Sep 25 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
详解pandas映射与数据转换
Jan 22 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 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中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
php函数式编程简单示例
2019/08/08 PHP
laravel model 两表联查示例
2019/10/24 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
node中的cookie的具体使用
2018/09/13 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
数控专业推荐信范文
2013/12/02 职场文书
商场经理竞聘演讲稿
2014/01/01 职场文书
八一建军节活动方案
2014/02/10 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
授权委托书样本
2014/04/03 职场文书
先进员工获奖感言
2014/08/14 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
Python获取字典中某个key的value
2022/04/13 Python
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android
MySQL批量更新不同表中的数据
2022/05/11 MySQL