__author__ = 'gyz'
# _*_ coding: UTF-8 _*_
# @create_time:2021/11/15
# @File: ssh_device
# 打包命令pyinstaller -F package$NAME
#
__author__ = 'gyz'

'''
交换机SSH配置:
#创建秘钥
[SW]dsa local-key-pair create

#配置SSH认证类型(密码/其他)
[SW]ssh user user1 authentication-type password
[SW]ssh user user1 service-type stelnet
[SW]stelnet server enable
#配置认证模式
[SW]user-interface v 0 4
[SW]authentication-mode aaa
[SW]protocol inbound ssh
#配置本地用户信息
[SW]aaa
[SW]local-user user1 password cipher Huawei@123
[SW]local-user user1 privilege level 15
[SW]local-user user1 service-type ssh
[SW]

'''

import time
import paramiko

class switch9312:
    ip = ''
    cmd_list = []
    def __init__(self, ip, cmd_list, user='admin', pwd='xxxx'):
        self.ip = ip
        self.user = user
        self.pwd = pwd
        self.cmd_list = cmd_list

def ssh_multicmd(self, asy_id=1, wait_time=2, verbose=True):
        ip = self.ip
        user = self.user
        pwd = self.pwd
        cmd_list = self.cmd_list
        try:
            print('try shh' + str(asy_id))
            ssh = paramiko.SSHClient()
            ssh.load_system_host_keys()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            # ssh.connect()
            ssh.connect(ip, 22, user, pwd, timeout=5, compress=True)
            print('You have successfully connect to ' + ip + '\n')
        except paramiko.ssh_exception.AuthenticationException:
            print("User authentication failed for " + ip + '.')
        #激活交互式shell
        command = ssh.invoke_shell()
        #等待网络设备回应
        # command.send('system\n')
        #执行具体的命令
        for cmd in cmd_list:
            command.send(cmd)
        time.sleep(wait_time)
        #获取中路由器返回信息
        output = command.recv(65535)
        x = output.decode('ascii')
        #关闭连接
        ssh.close()
        print('SSH 连接关闭!')
        if verbose:
            print(x)
        return x

if __name__ == "__main__":
    #执行命令
    commands = ['sys\n','display esn\n']
    ip = 'x.x.x.x'

sw1 = switch9312(ip, commands)
    sw1.ssh_multicmd()

paramiko SSH登录交换机相关推荐

  1. python ssh登录交换机_python使用paramiko模块通过ssh2协议对交换机进行配置的方法...

    该代码用的是paramiko模块,python版本是python2.7 下面上源码 # -*- coding: utf-8 -*- import paramiko import time import ...

  2. linux ssh连接交换机_使用SSH登录交换机(RSA方式)

    由于原来使用的rsa key convert下载不到了,不能将公钥转换成DER格式,而老式的VRP只支持DER格式,不支持OPENSSL以及PEM编码格式的公钥.本文介绍了在Linux及puttyge ...

  3. linux ssh连接交换机_访问SMB交换机CLI使用SSH或远程登录

    访问SMB交换机CLI使用SSH或远程登录 客观 Cisco小型企业被管理的交换机可以通过命令行界面(CLI)远程访问和被配置.访问CLI在一个基于终端的窗口允许命令被输入.如果喜欢配置使用在您的交换 ...

  4. H3C交换机SSH登录配置

    H3C交换机SSH登录配置 你在第一次使用SSH协议连接设备时,都会返回一个对话框:提示是否信任该密钥.那么我们交换机配置SSH协议时,第一步就是创建密钥对: [H3C]display public- ...

  5. 华为交换机如何配置ssh登录远程管理交换机

    华为交换机如何配置ssh登录远程管理交换机 如图,配置华为交换机ssh远程登录,先配置交换机的管理地址和vlan,此处为vlan10 ,把接口GE0/0/1划入vlan10,管理地址为192.168. ...

  6. H3C交换机、Dlink交换机、Netgear网件交换机 开启SSH 登录、修改snmp设置

    [C_9#418_S5800-32F]ssh server enable //打开SSH服务 [C_9#418_S5800-32F-luser-admin]service-type ssh //授权a ...

  7. 华为交换机配置ssh登录远程管理交换机

    配置华为交换机ssh远程登录,先配置交换机的管理地址和vlan,此处为vlan10 ,把接口GE0/0/1划入vlan10,管理地址为192.168.10.100/241.创建本地密钥对 配置接入交换 ...

  8. 华为交换机ssh思科交换机_如何在思科交换机上配置SSH远程登录

    1 1.本地PC连到交换机配置口 第一次配置交换机时,只能通过交换机的Console口进行本地配置,默认Console口登录到命令行界面时没有密码且拥有全部权限.要连接到交换机,你只需要在PC上装好需 ...

  9. 华为交换机基础配置(telnet/ssh登录)

    一.华为S5700交换机初始化和配置SSH和TELNET远程登录方法: 配置登陆IP地址: system-view //进入系统配置模式 [Quidway]interface Vlanif 1 //进 ...

最新文章

  1. idea中配置xml不自动提示解决方案
  2. python条件语句-Python3 条件控制
  3. 正则表达式中匹配的特殊字符
  4. 【转】C++11多线程的基本使用
  5. 蛋白质导论: 结构,功能和运动,第二版 Introduction to Proteins : Structure, Function, and Motion, Second Edition
  6. Pandas的学习(4.DataFrame之间的运算以及DataFrame和Series之间的运算)
  7. 面试被问 | 防止 Java 代码被反编译的方法有几种?
  8. Visual Studio Code 1.8版本添加了Hot Exit、Zen Mode及更多调试选项
  9. zookeeper 客户端配置_ZooKeeper安装配置如何操作
  10. nj04---事件回调函数
  11. Redis 中的事件驱动模型
  12. 【单片机】2.2 AT89S52的引脚功能
  13. kappa一致性检验教程_[转载]Kappa一致性检验
  14. NVIDIA GPU Compute Capability解释
  15. 1987:【20CSPS提高组】括号树P5658 [CSP-S2019] 括号树
  16. Photoshop(简称Ps)制作个人logo
  17. 猿创征文 |【算法入门必刷】数据结构-栈(四)
  18. matlab卷积相关
  19. 移动端真机调试--weinre
  20. Unity Shader unity文档学习笔记(十七):径向模糊 实现类似冲锋时的速度感

热门文章

  1. mysql 中将表中某一字段值查询出来,更新到另一个字段上的SQL写法
  2. react axios配置代理(proxy),解决本地开发时的跨域问题
  3. phpcms v9手机访问电脑站一对一跳转对应手机站页面插件
  4. canvas画布响应式_检查响应式导航:离开画布模式
  5. 使用k3s轻松实现SSL证书
  6. 360 Replugin运行配置(一)
  7. 游戏测试中的接口测试总结
  8. 英雄联盟手游的评价与建议
  9. C/C++大牛们推荐了一些书籍,
  10. frida辅助分析xx牛登录算法frida辅助分析xx牛登录算法