前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python,pexpect登录ssh并

python,pexpect登录ssh并

作者头像
py3study
发布2020-01-08 18:16:26
5460
发布2020-01-08 18:16:26
举报
文章被收录于专栏:python3python3

1、 安装python的Pexpect模块

wget http://jaist.dl.sourceforge.net/project/pexpect/pexpect/Release%202.3/pexpect-2.3.tar.gz

tar xzf pexpect-2.3.tar.gz

cd pexpect-2.3

python setup.py install

2、 执行脚本

可以登录到机器执行一些简单的命令等。。

#!/usr/bin/env python # -*- coding: utf-8 -*- import pexpect from getpass import getpass passwd = getpass() def ssh_cmd(user,ip, cmd): ??????? 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("/root/python/filelist",'r') ??????? a = file.read() ??????? file.close() ??????? for host in a.split("\n"): ??????????????? if host: ??????????????????????? user,ip,cmd = host.split("::") ??????????????????????? print "-- %s run:%s --" % (ip, cmd) ??????????????????????? ssh_cmd(user,ip,cmd)

more /root/python/filelist

root::1.1.1.1::ls&&date

root::2.2.2.2::ls&&date

................

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com