python之资产采集(paramiko模块)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之资产采集(paramiko模块)相关的知识,希望对你有一定的参考价值。

笔记代码:

client.py

# import subprocess
# v1 = subprocess.getoutput("ipconfig")
# value1 = v1[20:30]
#
# v2=subprocess.getoutput("dir")
# value2 = v2[0:5]
#
# #连接数据库,写到数据库
# url = "http://127.0.0.1:8000/asset.html"
# import requests
# response = requests.post(url,data={"k1":value1,"k2":value2})
# print(response.text)

####### Paramiko,中控机放一份######

"""
paramiko 模块采集资产
ssh方式:
    - fabric
    - ansible   这俩本质都是用py的 paramiko模块

机器少 用  paramiko ssh方式
机器多 用 agent ,每台机器部一个agent

###########################
如何实现自动采集?
subprocess
Linux基本命令
v = subprocess.getoutput(ls)
1.Agent
2.paramiko
    pip3 install paramiko
3. saltstack(Python开发)
    master
        yum install salt-master
        配置 : ip地址:x.x.x.x
    slave
        yum install salt-minion
        配置 :  找到master的地址》x.x.x.x
    
    

远程连接服务器,执行命令,获取结果
将结果发送API
192.168.11.103  >> 服务器地址
"""

import paramiko

#创建ssh对象
ssh = paramiko.SSHClient()

#允许连接不再know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

#连接服务器 (    主机地址,ssh端口,linux用户名,linux用户密码,)
ssh.connect(hostname="192.168.11.103",port=22,username="yu",password="redhat")

#执行命令   (   这里ls出  yu 用户家目录下的文件,也就是 /home/yu)
stdin,stdout,stderr = ssh.exec_command(ls)

#获取命令结果
result = stdout.read()

#关闭连接
ssh.close()
print(result)

server.py

from django.shortcuts import render,HttpResponse

# Create your views here.
def asset(request):
    if request.method == "POST":
        print(request.POST)
        #写入到数据
        return HttpResponse("1002")
    else:
        return HttpResponse("发的什么玩意")

 技术分享 前三个都是python写的

 

以上是关于python之资产采集(paramiko模块)的主要内容,如果未能解决你的问题,请参考以下文章

CMDB资产管理采集

CMDB资产采集

python第三方模块之paramiko模块

Python 之Paramiko模块

Python模块之paramiko

python3之paramiko模块