我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 的expect,param

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 的expect,param

pexpect的使用,

linux主机通过测试

华为交换机的ssh,用不了,郁闷。

ssh -v 查看登录过程


[root@pc0003 glpi_switch_ocs]# cat ssh3.py 
#!/usr/bin/env python
# -*- coding: utf-8 -*- 
import pexpect
import getpass, os
def ssh_command (user, host, password, command):
    ssh_newkey = 'Are you sure you want to continue connecting'
    child = pexpect.spawn('ssh -l %s %s %s'%(user, host, command))
    i = child.expect([pexpect.TIMEOUT, ssh_newkey, 'password: '])

    # 如果登录超时,打印出错信息,并退出.
    if i == 0: # Timeout
        print 'ERROR!'
        print 'SSH could not login. Here is what SSH said:'
        print child.before, child.after
        return None

    # 如果 ssh 没有 public key,接受它.
    if i == 1: # SSH does not have the public key. Just accept it.
        child.sendline ('yes')
        child.expect ('password: ')
        i = child.expect([pexpect.TIMEOUT, 'password: '])
        if i == 0: # Timeout
            print 'SSH could not login. Here is what SSH said:'
            print child.before, child.after
            return None
    child.sendline(password)
    return child

def main ():
    host = raw_input('Hostname: ')
    user = raw_input('User: ')
    password = getpass.getpass()
    command = raw_input('Enter the command: ')
    child = ssh_command (user, host, password, command)
    child.expect(pexpect.EOF)
    print child.before

if __name__ == '__main__':
    try:
        main()
    except Exception, e:
        print str(e)
        traceback.print_exc()
        os._exit(1)




[root@pc0003 glpi_switch_ocs]# python ssh3.py 
Hostname: 172.16.66.132 
User: root
Password: 
Enter the command: lsb_release -a

No LSB modules are available.
Distributor ID:    Debian
Description:    Debian GNU/Linux 7.9 (wheezy)
Release:    7.9
Codename:    wheezy



paramiko ssh 交互


华为交换机的ssh,还是用不了,更郁闷。

ssh -v 查看登录过程




登录ssh,显示文件,切换目录


import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('172.16.66.132', 22, username='user', password='password ', timeout=4)

stdin, stdout, stderr = client.exec_command('ls -l')
for std in stdout.readlines():
  print std,

stdin, stdout, stderr = client.exec_command('cd /etc;pwd')
for std in stdout.readlines():
  print std,





client.close()



输出结果

[root@pc0003 glpi_switch_ocs]# python ssh.py 
total 12
-rw-r--r-- 1 root root 1542 Oct 21 16:31 ceph.log
-rw-r--r-- 1 root root 1645 Oct 21 14:43 release.asc
-rw-r--r-- 1 root root   26 Nov 23 10:00 test
/etc
[root@pc0003 glpi_switch_ocs]#



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 的expect,param

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 的expect,param

pexpect的使用,linux主机通过测试华为交换机的ssh,用不了,郁闷。ssh -v 查看登录过程[root@pc0003 glpi_switch_ocs]# cat ssh3.py #!/usr/bin/env python# -*
2023-01-31

python install param

在服务器管理的时候,经常要用到paramiko这个模块。如果安装服务器上没有这个模块安装起来相当费劲。归其原因,是对于安装的步骤不正确,虽然pip会解决一些依赖库的问题,但是对于系统的依赖库,还是需要自己手动安装一下的。以下步骤完全在cen
2023-01-31

python expect

#!/usr/bin/pythonimport pexpectfoo = pexpect.spawn('passwd mqjia')foo.expect("New UNIX password:")foo.sendline("1234567"
2023-01-31

python expect模块pexpe

Pexpect 是一个自动控制的 Python 模块,可以用来ssh、ftp、passwd、telnet 等命令行进行自动交互。 官方网站是 http://www.noah.org/。通过它,可以实现类似 expect 的操作。例如我们可以
2023-01-31

linux param指的是什么

这篇文章主要介绍“linux param指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux param指的是什么”文章能帮助大家解决问题。linux p
2023-03-10

@RequestBody,@RequestParam和@Param的区别是什么

这篇文章主要介绍了@RequestBody,@RequestParam和@Param的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。@RequestBody,@Re
2023-06-29

java中context-param的作用是什么

在Java中,context-param是用于在web.xml文件中配置应用程序的初始化参数的。它的作用是提供一种在整个应用程序中共享数据的机制。具体来说,context-param可以用来配置应用程序的全局参数,这些参数可以被整个应用程序
2023-09-15

linux expect 的基本使用方法

linux expect 的基本使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。expect -c " set timeout -1; spawn ssh roo
2023-06-06

如何通过Param获取URL的参数

这篇“如何通过Param获取URL的参数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何通过Param获取URL的参数”文
2023-06-26

Mybatis中@Param的用法和作用详解

用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中我们先来看Mapper接口中的@Select方法package Mapper; public interface
2023-05-31

linux中的expect命令怎么用

本篇文章为大家展示了linux中的expect命令怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。expect介绍expect 是由Don Libes基于Tcl(Tool Command Lan
2023-06-28

批量修改ssh配置的expect脚本

第一思路,用iptables把外网ssh的包DROP掉;第二思路,用tcpwrapper把sshd的allow写死;第三思路,修改sshd_config,只监听内网请求。 由于一些说不清楚的原因,iptables的办法没法用;而tcpwra
2022-06-04

ssh expect自动登录的脚本代码

实现:ssh远程登录,每次都要指定一堆用户名和密码,现要求实现自动登录。登录流程:本地A 先登录到 B 再由B 登录到最终的C 如下: #!/usr/bin/expect -fset timeout 30spawn ssh Bexpect
2022-06-04

在firefox播放flash的object及param的编写教程

本篇内容主要讲解“在firefox播放flash的object及param的编写教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在firefox播放flash的object及param的编写教
2023-06-08

Shell脚本之Expect免交互的实现

Expext概述Expect是建立在tcl基础上的一个工具,Expect是用来自动化控制和测试的工具。主要解决shell脚本中不可交互的问题。有助于大规模的系统运维工作。在日常的运维与开发中,常常需要运城登录到服务器,然而登录的过程却是个需
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录