总是需要从两台机器更新与 Bitbucket 一起工作的 ssh-keys
Always need to renew ssh-keys working with Bitbucket from two machines
使用 SSH 连接和生成的密钥对,我在使用托管在 Bitbucket 上的存储库时从未遇到过任何问题。但是因为我从两台不同的机器(例如家用机器,工作机器)访问我的回购协议,我总是得到
Permission denied (publickey).fatal: Could not read from remote repository.
每次我换机器。所以我目前不太好的解决方法是用
删除我当前的密钥
rm -r .ssh
(我只使用一个)然后使用 Sourcetree 或终端生成一个新的。然后我从我的 Bitbucket 帐户中删除我正在使用的机器的旧密钥并粘贴到新密钥中。
这一直有效,但必须有更好的解决方案。我浏览了 Bitbucket 文档,但它只是说要为每台正在访问存储库的机器添加一个新密钥,显然这不起作用。我确定我错过了什么。感谢您的帮助!
确保添加第二个密钥时不会影响第一个密钥。 https://confluence.atlassian.com/bitbucket/set-up-additional-ssh-keys-271943168.html
如果您不能使 bit bucket 使用 2 个密钥,您可以在两台机器上使用相同的密钥。只需将 ~/.ssh
目录从当前工作的任何一台机器复制到另一台机器即可。
您应该将家用计算机和工作计算机上的 ssh 密钥添加到您的 bitbucket 帐户中。
将 ssh 密钥添加到 bitbucket 的整个步骤如下(您可以跳过已经完成的步骤):
在家用机器上生成 SSH 密钥
在你家里的机器上,执行ssh-keygen
命令。它将在您的本地机器上生成 ssh 密钥。复制public键id_rsa.pub
的内容添加到bitbucket中(如step2所示)
将本地机器的 ssh 密钥添加到 bitbucket
在bitbucket主页-> Bitbucket settings (https://bitbucket.org/account/user/username) -> SSH keys -> Add key -> 将id_rsa.pub
(step1)的内容粘贴到key选项-> Add关键。
在工作机器上生成SSH密钥
在工作机上,执行ssh-keygen命令。它将在您的本地机器上生成 ssh 密钥。粘贴public键id_rsa.pub
的内容添加到bitbucket中(如step4所示)
将工作机器的 SSH 密钥添加到 bitbucket
在bitbucket的SSH key Hub中点击Add key,然后粘贴id_rsa.pub
的内容(step3)。
现在连接bitbucket repo,家用机和工作机都可以访问了。
如果您仍然无法通过 ssh 密钥访问 bitbucket repo,请通过命令 ssh -T hg@bitbucket.org
.
进行故障排除
具体可以参考文档Permission denied (publickey).
这里有一个 link 的指南,说明如何解决该问题。
https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain
如评论中所述,Apple 更改了 Sierra/High Sierra 中的 SSH 行为。关于此主题 (https://jira.atlassian.com/browse/SRCTREE-4499) 的状态 'resolved' 存在一个 Sourcetree 问题,因此 Sourcetree 从 2.7.2 开始使用所需的标志向 .ssh/config
添加密钥,但这对我来说仍然没有用。我需要将 ssh-add -A
添加到我的启动代理中。
使用 SSH 连接和生成的密钥对,我在使用托管在 Bitbucket 上的存储库时从未遇到过任何问题。但是因为我从两台不同的机器(例如家用机器,工作机器)访问我的回购协议,我总是得到
Permission denied (publickey).fatal: Could not read from remote repository.
每次我换机器。所以我目前不太好的解决方法是用
删除我当前的密钥rm -r .ssh
(我只使用一个)然后使用 Sourcetree 或终端生成一个新的。然后我从我的 Bitbucket 帐户中删除我正在使用的机器的旧密钥并粘贴到新密钥中。
这一直有效,但必须有更好的解决方案。我浏览了 Bitbucket 文档,但它只是说要为每台正在访问存储库的机器添加一个新密钥,显然这不起作用。我确定我错过了什么。感谢您的帮助!
确保添加第二个密钥时不会影响第一个密钥。 https://confluence.atlassian.com/bitbucket/set-up-additional-ssh-keys-271943168.html
如果您不能使 bit bucket 使用 2 个密钥,您可以在两台机器上使用相同的密钥。只需将 ~/.ssh
目录从当前工作的任何一台机器复制到另一台机器即可。
您应该将家用计算机和工作计算机上的 ssh 密钥添加到您的 bitbucket 帐户中。
将 ssh 密钥添加到 bitbucket 的整个步骤如下(您可以跳过已经完成的步骤):
在家用机器上生成 SSH 密钥
在你家里的机器上,执行
ssh-keygen
命令。它将在您的本地机器上生成 ssh 密钥。复制public键id_rsa.pub
的内容添加到bitbucket中(如step2所示)将本地机器的 ssh 密钥添加到 bitbucket
在bitbucket主页-> Bitbucket settings (https://bitbucket.org/account/user/username) -> SSH keys -> Add key -> 将
id_rsa.pub
(step1)的内容粘贴到key选项-> Add关键。在工作机器上生成SSH密钥
在工作机上,执行ssh-keygen命令。它将在您的本地机器上生成 ssh 密钥。粘贴public键
id_rsa.pub
的内容添加到bitbucket中(如step4所示)将工作机器的 SSH 密钥添加到 bitbucket
在bitbucket的SSH key Hub中点击Add key,然后粘贴
id_rsa.pub
的内容(step3)。
现在连接bitbucket repo,家用机和工作机都可以访问了。
如果您仍然无法通过 ssh 密钥访问 bitbucket repo,请通过命令 ssh -T hg@bitbucket.org
.
具体可以参考文档Permission denied (publickey).
这里有一个 link 的指南,说明如何解决该问题。
https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain
如评论中所述,Apple 更改了 Sierra/High Sierra 中的 SSH 行为。关于此主题 (https://jira.atlassian.com/browse/SRCTREE-4499) 的状态 'resolved' 存在一个 Sourcetree 问题,因此 Sourcetree 从 2.7.2 开始使用所需的标志向 .ssh/config
添加密钥,但这对我来说仍然没有用。我需要将 ssh-add -A
添加到我的启动代理中。