简单的堡垒机模型

刚学python,写了一个简单的堡垒机模型,功能自己添加

#!/usr/bin/env python

#coding:utf-8

import MySQLdb

import paramiko

#connect mysql

conn = MySQLdb.connect("218.197.119.18","zhangpan","845896787","baoleiji")

cur = conn.cursor()

sqlUser = "select * from User"

sqlHost = "select * from Host"

cur0 = cur.execute(sqlUser)

#get User rows

result1 = cur.fetchmany(cur0)

for row in result1:

check_name = row[1]

check_passwd = row[2]

host_list = []

#login

while 1:

username = raw_input(‘username:‘).strip()

password = raw_input(‘password:‘).strip()

if username==check_name and password == check_passwd:

cur1=cur.execute(sqlHost)

result2 = cur.fetchmany(cur1)

for item in result2: host_list.append(item)

print ‘all host list:\n‘

for item1 in host_list:

host_id = item1[0]

host_name = item1[3]

ip_address = item1[1]

port = item1[2]

print host_id,host_name,ip_address,port

while 1:

choose = raw_input("please input you want connect host:").strip()

user_choose = int(choose)

if user_choose<len(host_list):

hostip = host_list[user_choose][1]

username = host_list[user_choose][4]

passwd = host_list[user_choose][5]

port = int(host_list[user_choose][2])

print hostip,username,passwd,port

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostip,22,username,passwd)

stdin,stdout,stderr = ssh.exec_command(‘mkdir python_study‘)

ssh. close()

else:

print ‘input error host id !‘

else:

print ‘Your Username or password is error‘

时间: 2024-08-24 11:36:05

简单的堡垒机模型的相关文章

Python 13 简单项目-堡垒机

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

文成小盆友python-num13 整个堡垒机

本节主要内容: 1.pymsql的使用 2.SQLAchemy使用 3.Paramiko 4.通过ORM功能使用和Paramiko的使用实现一个简单的堡垒机模型. 一.pymsql的使用 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装: pip3 install pymysql 使用 1.执行SQL # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host='

堡垒机的简单应用

堡垒机的定义: 即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态.安全事件.网络活动,以便集中报警.及时处理及审计定责. 堡垒机的功能: 账号管理 设备支持统一账户管理策略,能够实现对所有服务器.网络设备.安全设备等账号进行集中管理 完成对账号整个生命周期的监控 对设备进行特殊角色设置如:审计巡检员.运维操作员.设备管理员等自定义设置,以满足审计需求 账号登陆 支持对X11.linux.unix.数

IronFort---基于Django和Websocket的堡垒机

WebSSH有很多,基于Django的Web服务也有很多,使用Paramiko在Python中进行SSH访问的就更多了.但是通过gevent将三者结合起来,实现通过浏览器访问的堡垒机就很少见了.本文将简要介绍下我开发的IronFort堡垒机,其详细内容在我的官方网站liujiangblog.com的视频教程中. 一.堡垒机概述 百度百科:堡垒机,在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态.安全事

(转)用Python写堡垒机项目

原文:https://blog.csdn.net/ywq935/article/details/78816860 前言 堡垒机是一种运维安全审计系统.主要的功能是对运维人员的运维操作进行审计和权限控制,风险规避.同时堡垒机还有账号集中管理,单点登陆的功能. 堡垒机有以下两个至关重要的功能: 集中管理 安全审计 当公司的服务器变的越来越多后,需要操作这些服务器的人就肯定不只是一个运维人员,同时也可能包括多个开发人员,那么这么多的人操作业务系统,如果权限分配不当就会存在很大的安全风险,举几个场景例子

主机管理+堡垒机系统开发

本节内容 需求讨论 构架设计 表结构设计 程序开发 1.需求讨论 实现对用户的权限管理,能访问哪些机器,在被访问的机器上有哪些权限 实现可以通过web页面对指定主机列表 进行 批量发布命令.文件 实现对用户操作进行纪录 2.架构设计 3. 表结构设计 参考 http://www.cnblogs.com/alex3714/articles/5286889.html 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,

开源堡垒机安装测试上线部署详解-----麒麟开源堡垒机

近期出于管理和检查需要,单位领导要求上堡垒机系统,测试了几个商业堡垒机,因为价格超过预算等原因都未购买,又测试了三个开源的堡垒机,感觉麒麟开源堡垒机功能最全,基本上和商业堡垒机一样,唯一的问题就是图形部分不开源,但因为我们的服务器基本上全是LINUX环境,telnet.ssh.ftp.sftp已经足够了因此将这套堡垒机已经用于生产环境. 现在市场商业堡垒机价格太高,基本上都要到10万左右,我结合在公司部署开源堡垒机的经验,将过程写为文档与大家分享. 我测试的其它开源堡垒机基本上还是半成品,麒麟堡

python之实现批量远程执行命令(堡垒机)

python远程批量执行 我并不是一个专业的开发,我一直在学习linux运维,对于python也是接触不久,所以代码写的并不是很规范简洁. 前段时间一个同学找我一起做一个自动化运维平台,我对python的django还没有了解,并且对于HTML和JS这类开发学习还没有涉及,所以我说我做些后台的实现,前端就交给我的同学做.不扯淡了,下面说下我做批量执行的思路. 用到的模块:paramiko 功能:很简单就是批量执行命令,类似于ansible,本来想用Fabric,但是想一想还是用paramiko,

堡垒机帐号同步模块使用说明和测试手册

麒麟开源堡垒机帐号同步模块用于同步堡垒机到应用发布服务器之间的帐号 1. 相关软件: 如上图所示,一共四个文件,分为两部分,其中: (1)ClientSocket.php和ClientTest.exe,是客户端软件,模拟账号同步命令的发送,用于测试服务.前台调用方式请参考文件ClientSocket.php里的函数: (2)ServicInstall.msi和setup.exe是账号同步软件的安装文件 2. ODBC数据配置: 请确保本地配置好了ODBC源,数据源名称为"audit",