python通过ssh读取远程设备信息

本文介绍如何使用Python通过SSH连接到远程设备,并读取其相关信息。示例代码展示了具体的实现步骤。
摘要由CSDN通过智能技术生成

代码如下

# -*- coding: utf-8 -*-
from flask import request, jsonify
import paramiko, re, logging

#paramiko远程连接Windows系统需要做准备工作
#1.Windows系统要安装openssh服务器,这样Windows系统才能当作ssh服务器被访问
#2.到Windows防火墙处高级设置中开启22端口(netstat -a查看开启的端口)开启时,入站规则和出站规则都要配置
#3.验证ssh是否开启,cmd(命令行)中输入ssh验证是否安装成功
#4.在管理员权限下开启ssh服务(net start sshd)
#5.停止SSH服务net stop sshd
@app.route('/api/sshRemoteRead', methods=['GET'])
def ssh_read():
    logging.info("ssh remote scan start")
    if 'ip' in request.args.keys():
        ip = request.args.get('ip')
    if 'user' in request.args.keys():
        user = request.args.get('user')
    if 'password' in request.args.keys():
        password = request.args.get('password')
    port = 22
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(ip, port, user, password, timeout=10)
#执行命令,通过结果判断连接的远程系统是什么类型的
    stdin, stdout, stderr = ssh.exec_command("pwd")
    result = stdout.read()
    if result:
        ports = []  # ports[端口,协议,服务]
        services = []  # 存储开启了相应服务的端口的端口和服务信息services[端口,服务]
        ipmac = []  # 存配置IP的网卡的IP和mac信息ipmac[ip,mac]
        macs = []  # 存所有网卡的mac地址macs[mac]
        ipmacs = []  # 存所有网卡的IP和mac信息
        system = []  # 存使用的操作系统的信息
        manu_type = []#存储品牌和型号信息
        #找出IP和mac并以[ip,mac]的形式存入列表ipmacs中
        #1.找出配置了IP的网卡
        stdin,stdout,stderr = ssh.exec_command("cat /proc/net/arp")
        result = str(stdout.read())
        eth = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值