使用python 的paramiko制作堡垒机

堡垒机-readme:

(数据库为mysql)

1、如果数据库不存在,就创建数据库,对数据库的用户授权,创建表结构,和初始化一些数据

2、如果数据库存在,就跳到下一步

3、用户登录堡垒机进行验证

4、如果此堡垒机用户存在,验证成功,就列出该堡垒机用户所有的主机组,和该用户的主机组里可以使用的主机数量。

5、用户选择某个主机组,就可以看到可用主机和用户的列表。

6、用户选择使用某个用户进入某个主机,或者批量执行命令。

7、如果堡垒机用户,选择使用某个用户进入单台主机,就使用paramiko加载本地know_hosts文件,进行密钥验证,用ssh登录客户端主机

session方式建立channel实例。与主机交互,执行命令,同时按5条5条地写入数据库。

8、如果堡垒机用户,选择批量执行命令。就创建多进程的进程池,

就使用paramiko加载本地know_hosts文件,进行密钥验证,用ssh连接客户端主机。

执行命令,然后加锁,打印命令结果,释放锁。等待进程池里的所有进程执行完毕,给用户提示全部执行完毕。

时间: 2024-12-06 16:25:25

使用python 的paramiko制作堡垒机的相关文章

Python之路:堡垒机实例以及数据库操作

Python之路:堡垒机实例以及数据库操作 一.堡垒机前戏 开发堡垒机之前,先学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作. SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: #!/usr/bin/env  python# --*--coding:utf-8 --*--import paramiko #创建SSH对象ssh = paramiko.SSHClient()# 允许连接不在know_hosts文件中的主机ssh.se

Python 13 简单项目-堡垒机

本节内容 项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功能只是堡垒机所具备的功能属性中的其中一项而已,下面我就给大家介绍一下堡垒机的重要性,以帮助大家参考自己公司的业务是否需要部署堡垒机. 堡垒机有以下两个至关重要的功能: 权限管理 当你公司的服务器变的越来越多后,需要操作这些服务器的人就肯定不只是一个运维人员,同时也可能包括多个开发人员,那么这么多的人

Python之路,Day13 - 堡垒机

项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功能只是堡垒机所具备的功能属性中的其中一项而已,下面我就给大家介绍一下堡垒机的重要性,以帮助大家参考自己公司的业务是否需要部署堡垒机. 堡垒机有以下两个至关重要的功能: 权限管理 当你公司的服务器变的越来越多后,需要操作这些服务器的人就肯定不只是一个运维人员,同时也可能包括多个开发人员,那么这么多的人操作业务系

Python paramiko模块 + 堡垒机

paremiko SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko   # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='c1.salt.com', port=22, username='wu

paramiko 及堡垒机初步接触

一.简介 paramiko 是利用ssh协议操作远程主机的相关模块 二.安装 最简单的是使用pip安装 py2 pip install paramiko py3 pip3 install paramiko

哪些免费堡垒机品牌更好用?

我来说一下,我此前在中小创业企业工作过几年,现在某国企分公司任职运维经理.关于免费堡垒机品牌这个问题,我个人有一些经验之谈分享给大家,不喜勿喷. 一些初创企出于成本的考虑,会考虑找台免费堡垒机来保障运维安全.我用过不同类型的免费堡垒机产品,大体分为开源堡垒机和免费商用堡垒机. 先说下开源堡垒机.大部分开源堡垒机的功能相对简单,就是基础的堡垒机架构,其实并不好用,但上手容易.如果你的公司选开源,可能要考虑后期运维成本的问题,开源堡垒机需要一个即熟悉公司业务又懂Linux和Python的专人进行维护

python之实现基于paramiko和mysql数据库的堡垒机

一.堡垒机结构 堡垒机执行流程: 管理员为用户在服务器上创建账号(将公钥放置服务器,或者使用用户名密码) 用户登陆堡垒机,输入堡垒机用户名密码,现实当前用户管理的服务器列表 用户选择服务器,并自动登陆 执行操作并同时将用户操作记录 注:配置.brashrc实现ssh登陆后自动执行脚本,如:/usr/bin/python /home/wupeiqi/menu.py 二.实现过程 步骤一,实现用户登陆 import getpass user = raw_input('username:') pwd

python 学习第十一课 上下文管理 paramiko 堡垒机 mysql操作

Rlock 与 Lock 这两种琐的主要区别是:RLock允许在同一线程中被多次acquire.而Lock却不允许这种情况.注意:如果使用RLock,那么acquire和release必须成对出现,即调用了n次acquire,必须调用n次的release才能真正释放所占用的琐 >>> help(threading.RLock) RLock(*args, **kwargs) Factory function that returns a new reentrant lock. A reen

python之路 堡垒机paramiko

paramiko 1.安装 pip3 install paramiko 二.使用 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='c1.sa