首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏python3

    python pexpect

    Python 远程批量修改密码脚本 #tar -zxvf pexpect-3.0.tar.gz #cd pexpect-3.0 #python setup.py install #! :         print >>sys.stderr, ip+' timeout'     except pexpect.EOF:         print >>sys.stderr, ip+'  <the end>' (1)spawn类  class pexpect.spawn(command,args=[],timeout=30,maxread=2000,searchwidowsize=None /usr/bin/python# encoding=utf-8# Filename: pexpect_test.pyimport pexpectdef sshCmd(ip, passwd, cmd):     ret = -1     ssh = pexpect.spawn('ssh root@%s "%s"' % (ip, cmd))    try:         i = ssh.expect([

    64020发布于 2020-01-09
  • 来自专栏python3

    python pexpect 模块

    Pexpect 模块 两个主要接口 pexpect.run('ls -la') child = pexpect.spawn('scp foo myname@host.example.com:.')         ('/bin/bash', ['-c', shell_cmd])                child.expect(pexpect.EOF) #等待断开 将log日志重定向到某个文件或者标准输出 的信息则是 child.logfile_send = sys.stdout     try:         child.sendline('ls -l')         child.expect(pexpect.EOF before代表匹配前的内容,即ls的执行结果,after代表匹配之后的内容 child.before child.buffer                    try:     index = pexpect / http://www.ibm.com/developerworks/cn/linux/l-cn-pexpect2/

    1.1K20发布于 2020-01-06
  • 来自专栏python3

    Python 之 pexpect模块

    另一种安装方法如下: wget http://pexpect.sourceforge.net/pexpect-2.3.tar.gz tar xzf pexpect-2.3.tar.gz cd pexpect /setup.py install pexpect 模块的使用如下: >>> pexpect. pexpect.EOF( pexpect. __path__ pexpect.run( pexpect.ExceptionPexpect( pexpect. __reduce__( pexpect.runu( pexpect.PY3 pexpect. __loader__ pexpect.os pexpect.tty pexpect.

    1.2K10发布于 2020-01-07
  • 来自专栏python3

    Python模块之pexpect

    pexpect是一个用来启动子程序并对其进行自动控制的 Python 模块。 pexpect 可以用来和像 ssh、passwd、telnet 、rsync等命令行程序进行自动交互 下面是我用pexpect写的一个脚本,是用来执行远程主机命令,脚本是自动交互输入远程主机的密码的 import pexpect import os,sys import time #远程主机地址 Dir = "/usr/local/tomcat48080/webapps/WebApi_Develop 直接发送yes并继续下一个循环                     ssh.sendline('yes')         except pexpect.EOF:             ssh.close         else:             ssh.expect(pexpect.EOF)             ssh.close()                      print

    77030发布于 2020-01-07
  • 来自专栏python3

    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 :                 print "EOF"         except pexpect.TIMEOUT:                 print "TIMEOUT"        

    74710发布于 2020-01-08
  • 来自专栏sktj

    python 捕获用户输入pexpect

    image.png image.png

    1.7K20发布于 2019-07-31
  • 来自专栏python3

    python 利用pexpect进行多机

    如果没有安装easy_install,那么wget -q http://peak.telecommunity.com/dist/ez_setup.py 获取一下 python ez_setup.py pexpect 是python一个模块,可以通过:easy_install pexpect 来安装。 这里主要是用pexpect执行ssh,查看远程uptime和df -h看硬盘状况。 #ssh_cmd.py #coding:utf-8 import pexpect def ssh_cmd(ip, user, passwd, cmd): ssh = pexpect.spawn('ssh if i == 0 : ssh.sendline(passwd) elif i == 1: ssh.sendline('yes') except pexpect.EOF: ssh.close() else

    70710发布于 2020-01-09
  • 来自专栏python3

    python与pexpect实现ssh操

    下载并安装pexpect与ptyprocess模块并结合python2.7实现如下操作 tar -zxvf pexpect-4.0.1.tar.gz  cd pexpect-4.0.1 python setup.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,                         ssh.expect('password: ')                          ssh.sendline(passwd)          except pexpect.EOF :                  print "EOF"          except pexpect.TIMEOUT:                 print "TIMEOUT"        

    77730发布于 2020-01-17
  • 来自专栏python3

    pexpect模块实现ssh交互命令

    /usr/local/python3/bin/python3 import pexpect def exec_command(user,host,password): new_connection = 'Are you sure you want to continue connecting' conn = 'ssh '+user+'@'+host child = pexpect.spawn(conn ) #启动ssh命令 index = child.expect([pexpect.TIMEOUT,new_connection,'password:']) #等待程序输出,匹配字符串进行后续操作 if 1: #匹配到Are you sure you want to continue connecting child.sendline('yes') index = child.expect([pexpect.TIMEOUT

    1.3K41发布于 2020-01-14
  • 来自专栏python3

    python之pexpect实现自动交互

    Pexpect 是 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。 Pexpect 的使用范围很广,可以用来实现与 ssh、ftp 、telnet 等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实现软件测试中与命令行交互的自动化。 整体来说大致的流程包括: 运行程序 程序要求人的判断和输入 Expect 通过关键字匹配 根据关键字向程序发送符合的字符 基本使用流程 pexpect 的使用说来说去,就是围绕3个关键命令做操作: 首先用 掌握这个概念之后 pexpect 的使用就很容易了。 注意: spawn() ,或者说 pexpect 并不会转译任何特殊字符 比如 | * 字符在Linux的shell中有特殊含义,但是在 pexpect 中不会转译它们,如果在 linux 系统中想使用这些符号的正确含义就必须加上

    2.4K00发布于 2020-01-08
  • Python 运用Pexpect实现SSH爆破

    Pexpect是一个纯Python模块,用于生成子应用程序;控制他们;并对输出中的预期模式作出响应。Pexpect的工作原理类似于Don Libes的Expect。 Pexpect允许脚本生成一个子应用程序,并像键入命令一样控制它。Pexpect可用于自动化交互应用程序,如ssh、ftp、passwd、telnet等。 pexpect与SSH交互 #coding=utf-8 import pexpect from threading import * def SSHConnect(Host,User,Password (connStr,timeout=1) # 期望有ssh_newkey字符、提示输入密码的字符出现,否则超时 ret = child.expect([pexpect.TIMEOUT 登录执行命令 #-*- coding:UTF-8 -*- import pexpect def ssh(user,host,password,port,command): child = pexpect.spawn

    80320编辑于 2022-12-28
  • 来自专栏安恒网络空间安全讲武堂

    python使用pexpect实现ftp的操作

    文章以word形式发至邮箱: minwei.wang@dbappsecurity.com.cn 有偿投稿,记得留下你的姓名和联系方式哦~ 先来介绍一下pexpectpexpect可以理解为 Pexpect的安装 可以使用pip安装 pip install pexpect 也可以使用easy_install easy_install pexpect 本菜鸡在win7下使用pip安装的时候抛出好多异常 下载地址: https://pypi.python.org/pypi/pexpect/ 适用于py2和py3 下载完成之后找到对应路径直接使用pip安装即可 后来遇到个坑,发现windows下不支持pexpect ,只好改换linux 一个简单的ftp登录脚本 #coding:utf-8 import pexpect ftp = pexpect.spawn('ftp 192.168.112.129') #spawn pexpect.run('ssh xxx@x.x.x.x',events={'password:':'xxx'}) events是个字典 3. pxssh类 pxssh是pexpect的派生类,常用的方法有

    2.6K60发布于 2018-06-26
  • 来自专栏小徐学爬虫

    使用pexpect检查SSH上的文件是否存在

    使用 pexpect 模块可以在 Python 中执行命令并检查其输出。你可以使用 ssh 命令连接到远程服务器,并执行 ls 命令检查文件是否存在。 用户已经使用 pexpect 库编写了大部分代码,但需要捕获文件存在与否的值,以便断言文件是否存在。 方案 3:使用 pexpect 库在 pexpect 库的 expect() 方法中,使用 \r\n 换行符来确保命令执行的一致性。 else: print("File does not exist.")方案 3 的代码示例:import pexpect​def check_file_exists(host, username , password, file_path): ssh = pexpect.spawn('ssh %s@%s' % (username, host)) ssh.expect('password

    3.4K10编辑于 2024-06-05
  • 来自专栏运维开发王义杰

    WinPexpect和Pexpect:跨平台Python自动化的关键选择

    什么是PexpectPexpect是一个Python库,用于自动化与命令行交互的任务。它能轻松处理像SSH、FTP、密码sudo命令、数据库查询等任务。 下面是一个简单的使用示例: import pexpect child = pexpect.spawn('ssh username@domain.com') child.expect('Password 其API与Pexpect非常相似,因此如果你已经熟悉Pexpect,使用WinPexpect将会非常简单。 示例 child = pexpect.spawn('pscp file.txt username@domain:/path') # ...其余代码 数据库操作 # Pexpect示例 child = pexpect.spawn('mysql -u username -p') # ...其余代码 # WinPexpect示例 child = pexpect.spawn('mysql.exe -u

    1.9K10编辑于 2023-09-19
  • 来自专栏python3

    python expect模块pexpe

    Pexpect 是一个自动控制的 Python 模块,可以用来ssh、ftp、passwd、telnet 等命令行进行自动交互。 官方网站是 http://www.noah.org/。 如果你对expect还不太了解,那么可以参考Linux expect 介绍与用法 一、pexpect 安装方式 以root用户依次执行如下命令: wget http://pexpect.sourceforge.net /pexpect-2.3.tar.gz tar xzf pexpect-2.3.tar.gz cd pexpect-2.3 sudo python . /setup.py install 二、简单测试 编写一个简单的脚本pexpect_test.py测试一下 #! : forever ''' import pexpect   if __name__ == '__main__': user = 'http://www.pythonclub.org'

    85710发布于 2020-01-08
  • 来自专栏LINUX阅码场

    宋宝华:Don Libes的expect,终端交互式编程的精神鼻祖

    expect的精神比较伟大,也被各种其他语言所模仿和支持,比如python里面的pexpect等: ? pexcept(https://github.com/pexpect/pexpect)号称自己: ? Pexpect is in the spirit of Don Libes' Expect, but Pexpect is pure Python. 上述ssh同样的功能,如果换支持pexpect的python执行,代码如下: ? expect:pip install pexpect expect语言:apt install expectpython expect:pip install pexpect

    92920发布于 2019-10-08
  • 来自专栏devops探索

    不到200行代码,使用python写一个超简单的跳板机工具

    使用模块介绍 pexpect 就这一个就完了! 简单介绍一下这个模块: pexpect 是 expect 的一个 python 实现,用来进行人机交互,比如执行某一段程序时要求输入用户名和密码,或者是 yes/no 这种情况时,使用 pexpect pexpect 的使用范围很广,可以用来实现与 ssh、ftp 、telnet 等程序的自动交互 1.1 使用方式 pexpect 的使用基本上分为三个步骤: 首先用 spawn 来执行一条命令或者一段程序 ('/usr/bin/ftp') child = pexpect.spawn('/usr/bin/ssh user@example.com') child = pexpect.spawn('ls -latr LOG > logs.txt' child = pexpect.spawn('/bin/bash', ['-c', shell_cmd]) child.expect(pexpect.EOF) args

    1.5K00发布于 2021-06-20
  • 来自专栏老高的技术博客

    一行代码更改密码

    password'; echo 'password') | pure-pw useradd www -u www-data -d /home/ftpuser/www 方法二:Python脚本 在此我们使用了Pexpect 模块,我们可以使用pip install pexpect安装。 /usr/local/bin/python import pexpect child = pexpect.spawn('pure-pw useradd www -u www-data -d /home child.sendline('password'); child.expect('Enter it again: '); child.sendline('password'); child.expect(pexpect.EOF

    97020编辑于 2022-12-28
  • 来自专栏python3

    python rsync 数据同步脚本

    /usr/bin/env python # -*- coding: utf-8 -*- import pexpect import time import traceback def doRsync dstDir}".format(rUser = user,rHost=ip,srcDir=srcDir,dstDir=dstDir)         try:                 ssh = pexpect.spawn ,pexpect.EOF])                 ssh.close()         except :                 print traceback.format_exc 的对象child调用read()时触发TIMEOUT异常 ssh远程操作 read() 需要程序回话结束并且返回EOF才能读取剩下的所有内容 详细可见 pexpect模块参数解释 参考链接:https: //blog.51cto.com/749807/1566258 pexpect模块参数解释 https://www.jianshu.com/p/cfd163200d12

    1.4K10发布于 2020-01-09
  • 来自专栏python3

    python练习之通过python pe

    /usr/bin/evn python import re,sys,os,pexpect from pexpect import * #coding=utf-8 #create environment /demoCA/index.txt') #create root ca child0=pexpect.spawn('openssl req -new -x509 -keyout ca0.key -out  Create key file         cmd2='openssl genrsa -des3 -out '+a+str(i)+'.key' + ' 2048'         child2=pexpect.spawn req -new -key '+ a+str(i)+'.key' + ' -out '+a+str(i)+'.csr' +' -config openssl.cnf'          child3=pexpect.spawn -cert '+ a+str(i-1)+'.crt' +' -keyfile ' + a+str(i-1)+'.key'+ ' -config openssl.cnf'         child4=pexpect.spawn

    57450发布于 2020-01-09
领券