【python】堡垒机实列一(多线程,paramiko,configparser模块实践)

本文介绍了如何使用Python的ConfigParser模块读取配置文件,该配置文件包含了多个主机的登录信息。接着,通过Paramiko库实现远程连接,并运用多线程进行操作。代码中定义了一个生成器,但还有优化空间,计划后续继续完善。
摘要由CSDN通过智能技术生成

1,.定义个setting文件夹中包含的配置文件:

[Group1]
h1={‘username’:’root’,’password’:’passwd’,’hostname’:’192.250.111.25’,’port’:’22’}
h2={‘username’:’root’,’password’:’passwd’,’hostname’:’192.250.110.135’,’port’:’22’}
[Group2]
h1={‘username’:’root’,’password’:’passwd’,’hostname’:’192.250.110.136’,’port’:’22’}
h2={‘username’:’root’,’password’:’passwd’,’hostname’:’192.250.110.137’,’port’:’22’}
h3={‘username’:’root’,’password’:’passwd’,’hostname’:’192.250.110.138’,’port’:’22’}

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Author  : jerry
# @Site    : 
# @File    : host_request.py
# @Software: PyCharm
import configparser,paramiko,threading,time
import json


class Hostmange():
    def __init__(self):
        pass


    def ssh_server(self,hostname,port,username,password,cmd="ifconfig|sed -n '2p'|awk '{print $2}'"):
        '''
        通过paramiko跟跟server端建立联系
        :return: 返回cmd命令的结果
        '''
        ssh=paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)#允许连接不在主句的know_hosts文件中
        ssh.connect(hostname=hostname,port=port,username=username,password=password)
        stdin,stdout,stderr=ssh.exec_command(cmd)
        # if not stderr:
        #     result=stdout.read()
        #     return  result
        # else:
        #
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值