BitBucket没有接受我的SSH密钥?

时间:2015-03-28 23:01:01

标签: git github ssh mercurial bitbucket

我正在尝试将新存储库推送到bitbucket,并且由于以下错误而被阻止:

git init
git remote add origin git@bitbucket.org:esend7881/node-chat-example.git
git add stuff
git commit -m 'Initial commi'
git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

一些谷歌研究让我觉得命令ssh-keygen -t rsa会有所帮助,但它没有任何帮助

请注意,我确实已经有一些工作正常的存储库。我想在某个地方,我的钥匙被意外切换了。

我如何从头开始使用这些键,重新生成新的键,在bitbucket本身和我的本地计算机上注册它们,这样我就可以像往常一样回去推送。 (注意我使用了几台计算机,所以我希望只提供我的用户名和密码才能用到bitbucket就足够了。我想知道一个额外的硬安全设置是否被意外标记了?)

1 个答案:

答案 0 :(得分:2)

备份您的ssh目录

mv ~/.ssh ~/.ssh.old 

生成一对新的ssh密钥对

ssh-keygen -t rsa

使用默认设置此步骤需要可选的密码。如果您选择密码,请记住它,因为如果它丢失就无法恢复。

现在你应该在新的〜/ .ssh目录中看到id_rsa和id_rsa.pub文件

ls -l ~/.ssh
id_rsa id_rsa.pub

id_rsa是您的私钥。绝不应与任何人共享此内容。 id_rsa.pub是你的公钥,上传到Github,Bitbucket等网站。

Goto Bitbucket - >帐户 - > SSH密钥

从那里删除所有旧密钥。

单击“添加密钥”。为密钥指定一个合适的名称,并将~/.ssh/id_rsa.pub的内容粘贴到密钥文本框

将此~/.ssh目录复制到您的所有计算机。确保.ssh文件夹具有700个权限,并且其中的所有文件在您的所有计算机上拥有400个权限。

第一次推送时,您可能需要输入生成ssh密钥时选择的ssh密码。