爱意满满的作品展示区。
tangzx

管理服务器上的 ssh authorized keys 的工具

  •  
  •   tangzx ·
    layerssss · Nov 26, 2013 · 5894 views
    This topic created in 4732 days ago, the information mentioned may be changed or developed.
    俺们是一个5个人的小团队。俺任sa,有时候其他同学要临时上服务器上去看一些东西,然后,各个服务器服务器各个账户各台电脑一堆 key很麻烦,更不要说我本来就手忙脚乱的你还通过 email 把你的 key 发过来然后叫我帮你添加到 4 台服务器上每个 staging 账户下,然后我帮你添加完之后我却不记得自己本来在做什么事儿了。

    所以这个工具应运而生,直接从 GitHub API 拉 keys,你可以将服务器的访问权限点一下就分配给 organization 里的公开成员们。

    图:



    项目地址: https://github.com/layerssss/sshkeyd
    19 replies  •  1970-01-01 08:00:00 +08:00
    qsun
    qsun
    Nov 26, 2013
    1
    这个想法不错,确实解决了一些问题
    stevenyou
    stevenyou
    Nov 26, 2013❤️1
    2
    对于小团队很实用,大一点的话就OpenLDAP了
    akira
    akira
    Nov 26, 2013
    3
    虽然是公钥,但是这样放总 觉得不大放心呀。。
    stevenyou
    stevenyou
    Nov 26, 2013
    4
    @akira 有什么不放心的?
    clino
    clino
    Nov 26, 2013
    5
    我是用ansible来批量添加和删除
    http://www.ansibleworks.com/docs/modules.html#authorized-key
    missdeer
    missdeer
    Nov 26, 2013❤️1
    6
    这个好萌~
    tangzx
    tangzx
    OP
    Nov 26, 2013
    7
    @stevenyou 后续俺会加上 GitHub Enterpirse 的支持
    tangzx
    tangzx
    OP
    Nov 26, 2013
    8
    @akira 公钥是公开的,而且是从 GitHub API 上拉下来的,不用手动输入&配置,放心啦
    tangzx
    tangzx
    OP
    Nov 26, 2013
    9
    @clino 俺这个不用配置,也不用作为服务运行在远程服务器上 XD

    ps. 下一步俺打算把它包装成一个 nw 做的客户端程序
    subpo
    subpo
    Nov 26, 2013
    10
    能提供github以外的支持吗?
    tangzx
    tangzx
    OP
    Nov 26, 2013
    11
    @subpo 因为这里用到了 GitHub 提供的3个功能:

    1. 登录
    2. 获取用户的组织和成员
    3. 获取用户的public keys

    所以一个服务要同时提供以上3种功能才可以用,所以 GitLab 、 BitBucket 和 GitHub Enterprise 以后是能想办法支持的。就看需求了。
    clino
    clino
    Nov 26, 2013
    12
    @tangzx ansible 也不用在服务端安装程序的,只要服务端支持ssh就能用了
    ivenvd
    ivenvd
    Nov 26, 2013
    13
    Ansible 好用……

    添加 Key:

    ansible all -i production -m authorized_key -a 'user=root key="$SSH_KEY"'

    删除 Key:

    ansible all -i production -m authorized_key -a 'user=root key="$SSH_KEY" state=absent'

    做成脚本或者 Web UI 都可以。
    tangzx
    tangzx
    OP
    Nov 26, 2013
    14
    @clino 原来 ansible 也不用安装,不过俺这个可以从 GitHub 下拉成员名单和成员的 key,相比 ansible 要手动输入或设置 key , 要简单易用多了。 @ivenvd
    clino
    clino
    Nov 26, 2013
    15
    @tangzx 没错,这部分是没有的,当然也没有web界面
    我只是看到你的这部分功能就想起ansible已有的这个module
    akira
    akira
    Nov 26, 2013
    16
    强烈建议能支持bitbucket的私有仓库。。。
    tangzx
    tangzx
    OP
    Nov 27, 2013
    17
    @akira nonono, 该工具和仓库没有关系,主要是拉 ssh keys 和 组织的成员,即使你不用 GitHub ,你也可以单独建立一个 GitHub 帐号来提供这些信息的。
    relaxyy
    relaxyy
    Nov 27, 2013
    18
    每次看到楼主的头像都觉得这么可爱一定是个戴眼镜的女子,那帽子太像长发了………………

    虽然我还没有这个需求,但项目出发点和功能都很不错!界面也很简洁~赞
    garbch
    garbch
    Nov 27, 2013
    19
    good
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   956 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 20:17 · PVG 04:17 · LAX 12:17 · JFK 15:17
    ♥ Do have faith in what you're doing.