7

我正在使用 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?

4

1 回答 1

12

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

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

现在尝试 ssh 到 bitbucket 应该会导致通过密钥登录,即不需要密码。

现在也git clone应该通过 ssh 工作。

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

于 2013-08-27T16:27:29.783 回答