Bitbucket和SSH密钥

提供者Bitbucket不提供(即使在收费的标准和高级费率中)在存储库级别存储具有写许可权的SSH密钥的可能性。 不能将个人SSH密钥存储在生产服务器上,否则,您可以从那里访问当前正在处理的所有其他项目。 有所谓的访问键,但是这些仅允许读取权限。


因此,如果您在项目上进行本地开发,然后将此仓库与具有写访问权的生产服务器集成,则有两种选择:为此您创建自己的用户(要获得许可并供5个或更多用户使用),或者可以使用它鲜为人知的SSH代理转发

通过此过程,您可以在当前会话中在远程服务器上重复使用本地 SSH 密钥,而无需将密钥永久存储在那里。设置很简单:首先,确保可以使用 SSH 密钥直接连接到远程服务器和 Bitbucket。然后,您可以使用eval `ssh-agent -s`在本地计算机上启动 SSH 代理,并使用ssh-add -k存储当前密钥。现在,激活代理转发后,您可以通过ssh -A username@host1连接到远程服务器,然后可以访问您的 Bitbucket 存储库,而无需进一步提示密码,也无需在那里存储远程服务器的 SSH 密钥。

另一种选择是切换到完全不同的提供商:例如, GitLab已经在免费计划中提供了所谓的部署密钥,此外还有 10 GB 的配额(Bitbucket 为 2 GB)和无限数量的团队成员。这允许您为每个存储库单独存储任意数量的附加 SSH 密钥(例如来自生产服务器),从而授予存储库的写入权限。

背部