python与pexpect实现ssh操作

简介:

下载并安装pexpect与ptyprocess模块并结合python2.7实现如下操作

tar -zxvf pexpect-4.0.1.tar.gz 

cd pexpect-4.0.1

python setup.py install

tar -zxvf ptyprocess-0.5.tar.gz 

cd /ptyprocess-0.5

python setup.py install


Py脚本

#!/usr/bin/env python 

# -*- coding: utf-8 -*- 

import pexpect 

#from getpass import getpass

#passwd = getpass()

def ssh_cmd(user,ip, cmd,passwd): 

        ssh = pexpect.spawn('ssh %s@%s "%s"' % (user,ip,cmd)) 

        try: 

                i = ssh.expect(['password:', 'continue connecting (yes/no)?'], timeout=5) 

                if i == 0 : 

                        ssh.sendline(passwd) 

                elif i == 1: 

                        ssh.sendline('yes') 

                        ssh.expect('password: ') 

                        ssh.sendline(passwd) 

        except pexpect.EOF: 

                print "EOF" 

        except pexpect.TIMEOUT:

                print "TIMEOUT"

        else:

                r = ssh.read() 

                print r

        ssh.close()


if __name__ == '__main__':

        file=open("/mess/filelist",'r')

        a = file.read()

        file.close()

        for host in a.split("\n"):

                if host:

                        user,ip,cmd,passwd = host.split("::")

                        print "-- %s run:%s --" % (ip, cmd)

                        ssh_cmd(user,ip,cmd,passwd)

-------------------------------------------------------------------------------------------

/mess/filelist

root::192.168.100.100::ls -l::password

root::192.168.100.100::ps -ef|grep ssh|awk '{print $8}'::password









本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1901716,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
Java Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之部署python项目时,构建过程报错,怎么解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2天前
|
缓存 Python
[译]Python 和 TOML:新最好的朋友 (2) 使用Python操作TOML
[译]Python 和 TOML:新最好的朋友 (2) 使用Python操作TOML
|
3天前
|
开发者 Python
Python零基础入门-4 使用函数减少重复操作
Python零基础入门-4 使用函数减少重复操作
|
3天前
|
编解码
Python-【键盘-鼠标】移动、操作、输入
Python-【键盘-鼠标】移动、操作、输入
9 0
|
7天前
|
SQL 关系型数据库 MySQL
Python 操作 MySQL 数据库
Python 操作 MySQL 数据库
|
10天前
|
存储 算法 数据处理
掌握Python列表:灵活存储、便捷操作,轻松处理各类数据
掌握Python列表:灵活存储、便捷操作,轻松处理各类数据
|
16天前
|
数据挖掘 Python
Python文件读取操作详解
Python文件读取操作详解
19 1
|
16天前
|
存储 Python
Python字典的定义与操作详解
Python字典的定义与操作详解
7 1
|
16天前
|
索引 Python
Python集合的定义与操作详解
Python集合的定义与操作详解
6 1
|
16天前
|
存储 索引 Python
Python数据容器的切片操作详解
Python数据容器的切片操作详解
13 1

热门文章

最新文章