运维堡垒机---基于paramiko模块
2015-09-15 16:53
330 查看
话不多说,有图为证,主要是表达能力问题,呵呵。。。。
![](http://s3.51cto.com/wyfs02/M01/73/33/wKioL1X3xzDxuicXAAFlV9m16Ow065.jpg)
简单描述:
堡垒机一般都独立出来,单独部署,通俗点说就是跳板机,中控机。
须通过堡垒机才能连接到远程目的ip。
堡垒机将某用户的所有操作都记录在案----堡垒机的意义
一,流程图描述的功能已经非常清楚了
用户须先登陆堡垒机,然后能完成下面3个功能
1,单台机器登陆--->所有操作入库
2,批量机器执行命令--->所有操作入库
3,查看操作记录
二,堡垒机的意义(自己理解):
1,操作简单化,运维人员再也不用记服务器的username/password,直接选择某ip即可登陆操作;
2,操作规范化,所有运维人员统一入口,分用户记录所有操作。
3,责任清晰化,将某登陆用户的所有操作都记录在数据库,出问题有据可查;
三,准备工作:
1,须安装paramiko源码,要用到里面的两个文件,在那两个文件的基础上进行二次开发;
参考http://yunweipy.blog.51cto.com/10683003/1695014
2,两个文件为:paramiko-1.7.7.1/demo.py;paramiko-1.7.7.1/interactive.py;
3,自己写程序入口,登陆,验证。调用demo模块。完成所有功能;
4,建库,mysql or oracle,都可以;
四,源码分析
运行python paramiko-1.7.7.1/demo.py,会弹出'*** Here we go!',搜索这个字符串,然后后往下看,找到interactive.interactive_shell(chan),跳到interactive模块的interactive_shell方法中,分析nteractive_shell。
找到
def interactive_shell(chan, loginuser, username, ip):
if has_termios:
posix_shell(chan, loginuser, username, ip)
else:
windows_shell(chan)
然后分析posix_shell代码,可能也就20行代码,这是完成linux堡垒机的核心代码,在此基础上进行二次开发。
待续。。。
![](http://s3.51cto.com/wyfs02/M01/73/33/wKioL1X3xzDxuicXAAFlV9m16Ow065.jpg)
简单描述:
堡垒机一般都独立出来,单独部署,通俗点说就是跳板机,中控机。
须通过堡垒机才能连接到远程目的ip。
堡垒机将某用户的所有操作都记录在案----堡垒机的意义
一,流程图描述的功能已经非常清楚了
用户须先登陆堡垒机,然后能完成下面3个功能
1,单台机器登陆--->所有操作入库
2,批量机器执行命令--->所有操作入库
3,查看操作记录
二,堡垒机的意义(自己理解):
1,操作简单化,运维人员再也不用记服务器的username/password,直接选择某ip即可登陆操作;
2,操作规范化,所有运维人员统一入口,分用户记录所有操作。
3,责任清晰化,将某登陆用户的所有操作都记录在数据库,出问题有据可查;
三,准备工作:
1,须安装paramiko源码,要用到里面的两个文件,在那两个文件的基础上进行二次开发;
参考http://yunweipy.blog.51cto.com/10683003/1695014
2,两个文件为:paramiko-1.7.7.1/demo.py;paramiko-1.7.7.1/interactive.py;
3,自己写程序入口,登陆,验证。调用demo模块。完成所有功能;
4,建库,mysql or oracle,都可以;
四,源码分析
运行python paramiko-1.7.7.1/demo.py,会弹出'*** Here we go!',搜索这个字符串,然后后往下看,找到interactive.interactive_shell(chan),跳到interactive模块的interactive_shell方法中,分析nteractive_shell。
找到
def interactive_shell(chan, loginuser, username, ip):
if has_termios:
posix_shell(chan, loginuser, username, ip)
else:
windows_shell(chan)
然后分析posix_shell代码,可能也就20行代码,这是完成linux堡垒机的核心代码,在此基础上进行二次开发。
待续。。。
相关文章推荐
- nginx利用fastcgi_cache模块缓存
- 定义属性时NSArray,NSString,NSDictionary为何要用copy
- apache commons io包基本功能
- Nginx配置文件详细说明
- [知其然不知其所以然-6] 为什么initrd尝试从休眠中恢复失败了?
- linux下的OpenCV安装&学习笔记
- Linux下设置发邮件
- shell脚本执行返回的状态码
- Linux下安装Matlab2014及破解
- Shell脚本处理“integer expression expected”
- Linux 下编译安装OpenCV
- nginx不支持.htaccess解决办法
- Linux下Opencv的安装及配置使用
- linux文件复制与权限赋值
- Ubuntu下安装Nginx, MySQL, PHP (LEMP)
- linux下解压
- linux下常用解压缩命令
- OpenCV之响应鼠标(四):在图像上绘制出矩形并标出起点的坐标
- 在linux环境下编译一个c/c++工程
- LINUX学习