Git SSH公钥被拒绝

时间:2013-08-27 16:11:10

标签: git ssh bitbucket

我正在使用Bitbucket,我已按照Linux(Ubuntu 13.04)的指示在git上设置ssh https://confluence.atlassian.com/pages/viewpage.action?pageId=270827678

当我尝试从我的Bitbucket帐户克隆一个任何项目时,我得到一个公钥拒绝错误

omk@home-pc:/var/www/git$ sudo git clone git@bitbucket.org:MyAccount/MyProject.git
Cloning into 'MyProject'...
Permission denied (publickey).
fatal: Could not read from remote repository.

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

我已将公钥添加到我的bitbucket帐户。

当我尝试'ssh -T git@bitbucket.org'时,终端只会提示我输入我的密码短语,并将我的帐户名称作为回复。

omk@home-pc:/var/www/git$ ssh -T git@bitbucket.org
logged in as MyUsername.

You can use git or hg to connect to Bitbucket. Shell access is disabled.

我错过了什么吗?

更新

在$ HOME克隆工作正常。问题是必须在/ var / www / git上使用sudo。我是否可以通过任何方式更改权限以避免使用sudo?

1 个答案:

答案 0 :(得分:12)

使用ssh-add $keyfile将您的私钥添加到代理。

然后使用ssh-add -L显示该密钥的公钥。 - 验证它与添加到bitbucket帐户的帐户匹配。

现在尝试ssh到bitbucket应该通过密钥登录,即没有密码。

同样git clone ssh现在应该可以正常工作。

使用sudo可能不是一个好主意。它肯定会切断与代理的连接并更改$ HOME / .ssh,因此sudo启动的ssh将无法使用您的密钥。 您可以使用sudo -E来保护您的环境。在这种情况下,密钥应该仍然有效。