简单的ssh密钥管理服务
Geofront的Python项目详细描述
geofront是一个简单的ssh密钥管理服务器。它有助于维护服务器 到ssh,并为它们列出authorized_keys列表。Read the docs了解更多 细节。
情况
- 如果团队维护所有服务器的authorized_keys列表
团队:
- 当某人加入或离开团队时,必须更新所有列表。
- 谁要更新列表?
- 如果团队维护ssh服务器的共享私钥:
- 当有人离开队伍时,这些钥匙必须过期。
- 密钥应该有一个共享存储空间。(Dropbox?是吗?)
- 每个人都可能需要添加-i选项来使用团队自己的密钥。
- 以上两种方法都很难扩展服务器。想象一下你的团队 有10多台服务器。
想法
- geofront有自己的master key。私钥从不共享。 主密钥将定期自动重新生成。
- 每个服务器都有一个简单的authorized_keys列表,它授权 只有万能钥匙。
- 每个成员都向geofront注册自己的公钥。 如果密钥存储是github、bitbucket, 等
- 成员请求ssh服务器,然后geofront临时 (大约30秒或1分钟)将它们的公钥添加到authorized_keys 请求的服务器的。
先决条件
- Linux、BSD、Mac
- Python3.3+
- 第三方软件包(自动安装在一起)
- Paramiko2.0.1+(需要cryptography)
- Werkzeug0.11+
- Flask0.10.1+
- OAuthLib1.1.1+
- 阿帕奇Libcloud1.1.0+
- Waitress1.0.2+
- singledispatch(仅当python大于3.4时)
- typing(仅当python大于3.5时)
- typeguard2.1.1+