首先,我将部署密钥用于部署环境的自动化脚本。BitBucket 不会将部署密钥(只读)计入用户限制。我意识到通过更多配置,我可以直接使用我的用户 ID 推送,即使所有其他操作都使用部署密钥执行。这个配置让我可以毫不费力地使用我的用户 ID 轻松进行推广。这种方法是合理的还是它本身就存在问题?请看一下。
这是我用来配置环境的方法。
我的存储库是私有的,归 BitBucket 团队所有,而不是帐户
在我的工作站上执行了两次 keygen。第一次创建部署密钥:
ssh-keygen -b 2048 -t rsa -f /tmp/depKey -q -N ""
第二次为我的用户创建密钥-f /tmp/myKey
。将depKey的一部分作为部署公钥添加到 BitBucket 上的存储库。将其他公钥 myKey 添加到我在 BitBucket 上的帐户。
然后添加部署私钥 ssh-add ~/.ssh/deploy
检查与ssh-add -l
2048 aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99 depKey(RSA)
Bitbucket 只接受由 SSH 代理管理的第一个密钥。
将 SSH 配置文件设置为:
~/.ssh/config
StrictHostKeyChecking=no
Host myKey
user myuser
Hostname bitbucket.org
IdentityFile ~/.ssh/myKey
IdentitiesOnly yes
创建名称myKey(实际上是存储库别名)
git remote add benKey git@benKey:appworksadmins/appworks.git
我如何使用此配置的示例。使用部署密钥执行第一次结帐和拉取
git checkout master
git pull origin master
git merge test
推送到远程存储库
git push myKey master