9

所以我只是设置了一个 Amazon EC2 实例。并安装了 git..

sudo yum install git

然后我用 github 设置了我的 ssh 密钥。现在,当我尝试将我的 repo 克隆到 /var/www/html 文件夹中时,我收到了这个错误。

fatal: could not create work tree dir 'example.com'.: Permission denied

当我以root身份运行时...

Cloning into 'example.com'...
Permission denied (publickey).
fatal: Could not read from remote repository.

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

但我确保我的 github 公钥与我的 ~/.ssh/id_rsa.pub 密钥匹配。有什么我在这里想念的吗?

4

5 回答 5

15

您的第一个错误是因为您的用户无权写入 /var/www/html 。您可以授予您的用户这样做的权限。

以 root 身份运行时的第二个错误可能是您的用户主目录中有 ssh 密钥,而不是 /root/.ssh/ ,或者您的 .ssh 目录或 ~/.ssh/id_rsa.pub 密钥文件有不正当的权限。~/.ssh/ 应该有权限位 0700 ,并且应该有 ~/.ssh/id_rsa.pub 例如 0600

于 2013-03-29T02:01:28.887 回答
2

注意:此修复适用于 Mac 用户

对于 macOS 10.12.2 或更高版本,您需要修改 ~/.ssh/config 文件以自动将密钥加载到 ssh-agent 中并将密码短语存储在您的钥匙串中。

Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/<your_id_rsa>

将您的 SSH 私钥添加到 ssh-agent 并将您的密码存储在钥匙串中。如果您使用不同的名称创建了密钥,或者如果您要添加具有不同名称的现有密钥,请将命令中的 id_rsa 替换为您的私钥文件的名称。

ssh-add -K ~/.ssh/<your_id_rsa>

有关更多信息,请查看 https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

于 2020-01-21T00:45:37.160 回答
1

你有没有试过这个:

git:致命:无法从远程存储库读取

您可以指定 SSH 应发送到远程系统的用户名作为远程 URL 的一部分。将用户名,后跟@,放在远程主机名之前。

git remote set-url website abc@***.com:path/to/repo
于 2013-03-29T02:06:46.023 回答
0

对中的id_rsa私钥~/.ssh/id_rsa是您的公钥 ( ~/.ssh/id_rsa.pub) 吗?

如果不是(或者您不确定),我建议您使用ssh-keygen -t dsa.

于 2013-03-29T01:59:45.230 回答
0

我的解决方案与 nos 的解决方案相匹配。添加 root 用户的公钥可以修复它。另一种选择是更改目录的权限并以普通用户身份执行命令。

于 2015-11-13T01:50:37.227 回答