• paramiko连接并配置交换机


    #-*-coding:UTF-8 -*-
    import paramiko
    import time
    ip = "192.168.10.11"
    username = "admin"
    password = "Huawei@123"
    \创建交换机登陆信息变量
    ssh=paramiko.SSHClient()
    \创建SSH对象
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    \允许连接不在know_hosts文件中的主机
    ssh.connect(hostname=ip,port=22,username=username,password=password)
    \SSH方式连接交换机
    print("成功连接",ip)
    
    command=ssh.invoke_shell()
    \调用交换机命令行
    command.send("sys
    ")
    command.send("sysname HW_Switch
    ")
    command.send("interface loopback 0
    ")
    command.send("ip address 192.168.0.124
    ")
    command.send("return
    ")
    command.send("save
    ")
    command.send("y
    ")
    \发送配置命令
    time.sleep(3)
    output=command.recv(65535)
    print(output)
    \设置等待时间并打印回显内容
    ssh.close()
    \关闭连接
    
    本例中通过SSH方式成功连接交换机后,我们需要调用paramiko.SSHClient()下面的invoke.shell()来唤醒shell,也就是华为交换机的VRP命令行,并将它赋值给变量command,之后调用invoke.shell()下面的command()函数,向交换机发送配置命令。
    Python是一次性执行脚本命令的,中间没有时间间隔,这样就会导致某些命令遗漏和回显内容不完整的问题。我们在使用recv()函数将回显结果保存之前,需要调用time模块下的sleep()函数手动让Python停止3秒钟,这样回显内容才能被完整地打印出来。这里的command.recv(65535)中的65535代表截取65535个字符的回显内容。对交换机配置完毕后,使用close()方法退出SSH连接。
    
  • 相关阅读:
    Orderly Class
    POJ2513 【并查集+欧拉路径+trie树】
    POJ2195 Going Home【KM最小匹配】
    洛谷P2604 最大流+最小费用最大流
    小数转分数
    威尔逊定理
    luogu P6564 [POI2007] 堆积木KLO 树状数组+dp
    Codeforces Round #644 (Div. 3) H——Binary Median 二分
    luogu P4933 大师 线性dp
    Codeforces Round #643 (Div. 2) D——Game With Array
  • 原文地址:https://www.cnblogs.com/kylingx/p/13255886.html
Copyright © 2020-2023  润新知