我正在尝试将新存储库推送到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就足够了。我想知道一个额外的硬安全设置是否被意外标记了?)
答案 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密码。