Git SSH 公钥被拒绝

问题描述 投票:0回答:2

我正在使用 Bitbucket,并且已在 Git 上设置 SSH 按照 Atlassian 文档中针对 Linux 的说明(Ubuntu 13.04)

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

omk@home-pc:/var/www/git$ sudo git clone [email protected]: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 [email protected]
时,终端才会提示我输入密码,然后我会得到我的帐户名作为响应。

omk@home-pc:/var/www/git$ ssh -T [email protected]
logged in as MyUsername.

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

$HOME 克隆效果很好。问题是必须在

/var/www/git
处使用 sudo。有什么方法可以更改权限以避免使用
sudo

我错过了什么吗?

git ssh bitbucket
2个回答
12
投票

使用

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

然后使用

ssh-add -L
显示该密钥的公钥。 - 验证它是否与添加到您的 bitbucket 帐户中的一致。

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

另外

git clone
通过 ssh 现在应该可以工作了。

使用

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


-2
投票

我遇到了类似的问题,我是这样解决的:首先,我启用了 passwd auth,然后添加了公钥,然后再次禁用 passwd auth。我知道这不完全是你的问题,但我想分享我的经验。

© www.soinside.com 2019 - 2024. All rights reserved.