前言:

        话说,以前在人人网负责开发跳板机权限管理的时候,想到了用saltstack key模块做公钥的管理,但是因为最后涉及到saltstack不是太安全,放弃了。貌似现在开源社区里,没有好点的有关ssh key管理的项目。反正闲来无事,搞之 !


大家关注下我的博客,原文地址: blog.xiaorui.cc

正题:

嗯哼,既然没有找到合适的,那就自己用python简单实现。介绍下,这是一个用来简单批量管理ssh pub keys的模块,另外是支持web api的,接口的方式是rest类型接收的。不知道大家理不理解,这个项目主要是干嘛的,就是你有一个master主控节点,张三想麻烦你给他添加北京兆维nginx的所有权限,如果你们公司刚好是可以用key登陆,那就简单了,只需要让张三把ssh公钥的key给你,你放到那堆服务器的authorzied_keys文件中就可以了。 


代码已经开源,如果大家感兴趣,请多关注下,点个心:

https://github.com/rfyiamcool/batch_keys_api


也已经推送到了python源 pypi里面。 


这实现的原理很简单,就是提供一个master端来远程批量管理所有用户的key及其他集群上的key,支持web api,这个只是第一版,我会陆续更新的,现在的版本说实话,ssh_manage不高大上,而且也没有针对一些数据入库。有时间吧,下个星期争取把web ui及关联数据入库。 


TODO:

  1. api写的有些简陋,代码不优美,安全方面也没有做
  2. 对于关联的数据进行入leveldb数据库
  3. 加入管理页面

现在来说,平台已经用到的模块

bottle
gevent
sh

下面是直接调用模块的用法。 其实已经配置了一个script脚本命令,只是不太灵活,还是推荐大家集成到python中使用。  个人觉得也可以用在一些堡垒机和跳板机上,但兼容问题,需要你们自己搞定了。 


这个是web api的使用方法。 


那就先这么招吧, 项目有些地方不够完善,现在还不推荐在线上用,等我推到2.0之后,大家就可以试试了。 



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品

发表评论