git clone 包时出现这两行报错
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
- 这意味着 SSH 认证失败了,通常是因为本地机器的 SSH 密钥未被 GitHub 账户识别/未正确设置。
- 在终端中使用
ssh -T git@github.com
可以测试机器是否已成功认证
ssh -T git@github.com
git@github.com: Permission denied (publickey).
遇到 git@github.com: Permission denied (publickey).
错误时,表示 SSH 尝试连接到 GitHub 但是认证失败了。这通常是因为本地 SSH 密钥没有正确配置或者没有被 GitHub 账户识别。‘’
解决方法如下:
1. 检查本地 SSH 密钥
首先,确认你的机器上是否已经生成了 SSH 密钥。
- 打开终端。
- 运行
ls -al ~/.ssh
查看你的~/.ssh
目录。通常,你应该看到一些如id_rsa
(私钥)和id_rsa.pub
(公钥)的文件。 - 如果你没有这些文件或者你的
.ssh
目录不存在,你需要生成一个新的 SSH 密钥。可以使用ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
命令生成新的 SSH 密钥,其中"your_email@example.com"
应替换为你的 GitHub 注册邮箱。
2. 将 SSH 公钥添加到 GitHub 账户
如果你已经有了 SSH 密钥,确保你的公钥(如 id_rsa.pub
)已经添加到了你的 GitHub 账户。
- 打开
~/.ssh/id_rsa.pub
文件,复制其内容。 - 登录到你的 GitHub 账户。
- 转到 Settings > SSH and GPG keys > New SSH key。
- 粘贴你的公钥到 "Key" 字段,添加一个描述,然后点击 "Add SSH key"。
3. 测试 SSH 连接
-
再次运行
ssh -T git@github.com
来测试 SSH 连接。 -
如果一切配置正确,你应该看到一条欢迎消息,类似于:
-
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
-
之后就不会有这个问题了