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密钥(例如,来自生产服务器的SSH密钥),以授予对该存储库的写访问权限。

背部