专栏首页python3python,pexpect登录ssh并

python,pexpect登录ssh并

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 利用pexpect进行多机

    在安装之前,确认你的机器安装了python,和easy_install.通常python是自动安装的,如果没有安装easy_install,那么wget -q ...

    py3study
  • python与pexpect实现ssh操

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

    py3study
  • Python 之 pexpect模块

    python安装setuptools模块之后,便可使用easy_install来安装python的第三方扩展模块,默认安装路径是:

    py3study
  • 熟练运用PPT母板 ,让你的工作效率成倍提高

    用户1756920
  • 跳转语句continue和break

    /*         break:结束本轮循环         continue:跳出本次循环,执行下次循环         */      使用contin...

    十月梦想
  • golang | Go语言入门教程——结构体初始化与继承

    在上一篇文章当中我们一起学习了怎么创建一个结构体,以及怎么给结构体定义函数,还有函数接收者的使用。今天我们来学习一下结构体本身的一些使用方法。

    TechFlow-承志
  • 反弹shell的学习总结 - Part 1

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日...

    贝塔安全实验室
  • 【腾讯云Serverless】Github Actions自动部署云函数

    Github Actions是Github近来推出的新功能,能够自动化构建,部署我们的github项目。

    Juli
  • 动态 | 验证码要凉凉?中国西北大学和北京大学的研究或将终结 CAPTCHA 验证码时代

    在互联网上与人沟通时,你如何证明自己不是机器?这是一个很难的问题,多年以来的解决方案就是你能够成功读取一系列机器无法识别的扭曲字符。这种安全工具称为 CAPTC...

    AI科技评论
  • 提高PPT制作效率的9个小技巧,据说贾跃亭都没这技能~

    一提到做PPT,很多人估计会愁眉苦脸,既苦于自己灵感匮乏设计出的PPT不美观,没逻辑,又苦于自己在制作过程中花费在软件操作上的时间太多。 而今天,我们来聊一聊如...

    BestSDK

扫码关注云+社区

领取腾讯云代金券