SSH-密码箱:个人集中式SSH密钥部署到多个箱(和Git

2020-08-09 01:15:42

您是否厌倦了生成这么多密钥,并且必须手动将它们添加到您要访问的每个框和版本控制伪造文件中?

注意:对于您连接到的所有系统,Lockbox都是一个单点故障。也就是说,如果对手可以控制您正在使用的Lockbox实例上的您的帐户,他们就可以部署自己的密钥并访问任何链接的系统。

此外,您正在使用的Lockbox实例的管理员可以在任何用户下添加密钥,因此请确保您信任管理员。(在最好的情况下,管理员是您。该软件的多用户功能是为团队设计的。)。

您希望能够通过密码箱访问的每个用户帐户都必须有一个~/.config/lockbox.conf,其中包含两行:

密钥检查完成后,结果将作为附加在.ssh/Authorized_Key末尾的一节进行缓存:

SSH-ED25519...。[email protected]#密码箱部分#请不要在此部分下进行编辑。它是自动生成的,#并且可以随时擦除。ssh-ed25519...。

您可以访问github.com/settings/Developers并添加一个新的OAuth应用程序。我建议您将其命名为";Lockbox@<;domain>;";。

然后,将客户端ID和客户端密码放入应用程序配置的相应字段中。

然后,任何用户都可以导航到https://<;lockbox实例>;/Integrations/gihub/Initiate来设置giHub集成,之后他们添加到Lockbox的所有密钥都将被推送到giHub,未来的所有密钥部署也将触发发送到giHub的密钥。

$#设置Virtualenv或Do&#t,随您选择。然后:$pip install-r requirements.txt$cp.env.schema.env;$edit.env#设置DATABASE_URL值$alembic Upgrade head#运行迁移以初始化数据库$./run_prod.sh./lockbox.sock#启动一个在unix:./lockbox.sock$#监听的Gunicorn实例(带有uvicorn工作线程):./lockbox.sock$#使用nginx代理进入套接字。

DATABASE_URL:应用程序数据库的连接URL。用于开发的配置(使用SQLite)包含在.env.schema中。

SESSION_SECRET_KEY:用来签署会话信息的密钥。这应该是随机生成的数据BLOB。