Sign inSign up

xxxsen/keymanager

By xxxsen

Updated 12 months ago

Image
0

1.7K

xxxsen/keymanager repository overview

keymanager

一个 ssh 公钥管理工具, 将 ssh 公钥存储到github仓库上, 并定时将这些公钥同步到对应的机器上。

使用方式

需要注意指定uid/gid, 否则启动后, 对应的文件权限会被改写成root, 导致不必要的问题。

docker run -it --rm -v `pwd`/.vscode:/data --user 1000:1000 xxxsen/keymanager:latest -config /data/config.json

运行后, 程序会定期从git/s3 拉取保存的文件更新到本地。

配置文件

程序配置文件
{
    "log": {
        "console": true,
        "level": "debug"
    },
    "storage": {
        "storage_type": "git",
        "storage_data": {
            "owner": "xxxsen",
            "repo": "ssh-keymanager",
            "token": "abcdefg"
        }
    },
    "store_key": "authorized_keys",
    "local_key": "/home/test/.ssh/authorized_keys",
    "run_cron": "*/1 * * * *"
}
key类型说明
log.consolebool是否将日志刷到控制台
log.levelstring日志级别
storage.storage_typestring指定存储类型
storage.storage_datainterface{}存储的配置
local_keystringgithub数据将被存储到哪个文件中
run_cronstringcron表达式, 指定程序运行周期

目前支持2种配置, git, s3

git相关配置:

key类型说明
ownerstringrepo所有者
repostring用于存储的repo
tokenstringpersonal access token

s3相关配置

key类型说明
access_keystringaccess key
secret_keystringsecret key
end_pointstring端点
bucketstring存储桶
regionstring地区, 按实际填写
Git仓库文件格式
{
    "remark": "测试",
    "key_list": [
        {
            "name": "key说明", 
            "data": "key数据"
        }
    ]
}

NOTE: 存储的时候, 会将key_list中的data抽取出来, 组成一个新的文件, 多个data中间使用'\n'分隔

Tag summary

Content type

Image

Digest

sha256:c0ff2c51d

Size

6.5 MB

Last updated

12 months ago

docker pull xxxsen/keymanager