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,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
存储 监控 数据处理
💻Python高手必备!文件系统操作秘籍,让你的数据存取如臂使指
【7月更文挑战第29天】在数据驱动时代, Python以简洁语法、丰富库生态和强大跨平台能力, 成为数据科学等领域首选。本文探讨Python文件系统操作秘籍, 助力高效数据处理。
49 11
|
4月前
|
索引 Python
Python的列表操作有哪些?
Python的列表操作非常丰富,包括列表的创建、元素的访问、修改、添加、删除、切片、排序等多个方面。
44 12
|
4月前
|
监控 网络协议 网络安全
SMTP操作使用详解并通过python进行smtp邮件发送示例
SMTP操作使用详解并通过python进行smtp邮件发送示例
132 3
|
4月前
|
数据挖掘 数据处理 Python
🔍深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
【7月更文挑战第29天】深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
36 3
|
4月前
|
安全 数据安全/隐私保护 Python
|
4月前
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
4月前
|
API Python
Python高手修炼手册:精通文件系统操作,掌控I/O管理,提升编程效率
【7月更文挑战第30天】在 Python 编程中, 文件系统操作与 I/O 管理是连接程序与数据的关键。初学者常因路径错误和权限问题受挫, 而高手能自如管理文件。传统 `os` 和 `os.path` 模块易出错, `pathlib` 提供了更直观的对象导向 API。I/O 方面, 同步操作会阻塞程序, 异步 (如使用 `aiofiles`) 则能大幅提升并发能力。真正的高手不仅掌握 API, 更能预见性能瓶颈并优化代码, 实现高效与优雅。
40 1
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之重新上传后只有SQL无法运行,而Python可以正常运行,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
Python