解决克隆Github源码库时的Permission denied 问题

发布于:2025-06-12 ⋅ 阅读:(21) ⋅ 点赞:(0)

目录

一、问题描述

二、问题原因

(1)用于测试SSH连接

(2)查看密钥文件是否存在

(3)如果没有SSH密钥文件

三、测试

(1)测试连接是否成功

(2)测试仓库代码是否可以成功下载


一、问题描述

以TC-LIF神经元模型为例,git clone代码库的时候提示如下:

git clone git@github.com:ZhangShimin1/TC-LIF.git

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights

二、问题原因

大概率是SSH密钥没有配置好,可以按照下述过程逐个排查。

(1)用于测试SSH连接

输入命令ssh -T git@github.com:

  • 如果返回类似“Hi username! You've successfully authenticated, but GitHub does not provide shell access.”的消息,说明SSH密钥配置正确。

  • 如果返回“Permission denied (publickey).”,说明SSH密钥没有正确添加到GitHub账户。

(2)查看密钥文件是否存在

(通常文件名为id_rsa.pubid_ed25519.pub

(3)如果没有SSH密钥文件

可以使用命令ssh-keygen -t rsa -b 4096生成新的SSH密钥(一路按回车键使用默认设置即可)

此时可见/.ssh文件中新增的密钥文件。

(4)添加到github中

① 打开生成的公钥文件(如id_rsa.pub),复制其中的内容。

②登录GitHub账户,点击右上角的头像,选择“Settings”(设置)。

③ 在左侧菜单中选择“SSH and GPG keys”(SSH和GPG密钥)。

④ 点击“New SSH key”(新建SSH密钥)按钮,输入一个标题,将复制的公钥内容粘贴到“Key”框中,然后点击“Add SSH key”(添加SSH密钥)按钮。

三、测试

(1)测试连接是否成功

配置完成后再输入命令ssh -T git@github.com测试,此时显示连接成功。

(2)测试仓库代码是否可以成功下载

输入命令git clone git@github.com:ZhangShimin1/TC-LIF.git,此时显示可以正确clone源码。

最后,我感觉我应该之前遇到过同等问题,但都是在新服务器的个人账号下出现的。

今天再次遇到这个问题,是因为我程序运行在docker中,好像每次都要重新配置新的docker容器的SSH连接密钥。暂时先治标不治本,懒得再折腾了,等后续遇到再了解是否可以直接设置生成的新docker容器。