一次解决 github 无法克隆的问题之 SSH KEY 配置

一、git 克隆 基本命令

shell 复制代码
$ git clone https://github.com/LavenGao/DisplayGLTF.git

如果此时提示下面的语句,则尝试第二部分。

vbnet 复制代码
Cloning into 'DisplayGLTF'...
fatal: unable to access 'https://github.com/LavenGao/DisplayGLTF.git/': OpenSSL SSL_read: Connection was reset, errno 10054

二、使用 SSH 协议克隆仓库

ruby 复制代码
$  git clone git@github.com:LavenGao/DisplayGLTF.git

如果此时提示下面的语句,基本上是SSH 密钥配置的不正确,或者没有进行配置,此时需要尝试第三部分。

sql 复制代码
Cloning into 'DisplayGLTF'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

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

三、配置SSH 密钥

首先需要确认在 GitHub 上添加的 SSH 密钥是否正确配置,可以按照以下步骤进行:

1. 登录到 GitHub

打开 GitHub 账户并登录。

2. 进入设置页面

点击页面右上角的头像,然后选择 "Settings"(设置)。

3. 选择 SSH and GPG keys:

在左侧导航栏中,选择 "SSH and GPG keys"(SSH 和 GPG 密钥)。

4. 检查已添加的密钥

在 "SSH keys" 部分,你可以看到已经添加过的公钥。确保列表中包含在本地生成的 SSH 公钥。(每个公钥都应该有一个标题,通常是计算机名称和日期等信息。如果您没有在 GitHub 上看到 SSH 公钥或者看到的是不正确的公钥,可能需要重新添加正确的公钥。如果你忘记了,或者不清楚配置的是否正确,你可以重新配置。具体操作如下:

(1)检查本地主机是否已经存在 ssh key

bash 复制代码
cd ~/.ssh
ls

这里说明本机不存在 id_rsa 和 id_rsa.pub 文件(如果存在,说明已经有SSH Key,此时可直接跳到第三步)

(2)生成ssh key

使用如下命令生成

perl 复制代码
ssh-keygen -t rsa -C "xxx@xxx.com"

其中 xxx@xxx.com 具体替换成邮箱即可,然后一直回车即可。成功执行后,即可看到

(3)查看ssh key

查看 ssh key公钥内容(id_rsa.pub)

bash 复制代码
cd ~/.ssh
cat id_rsa.pub

你将看到如下图所示内容,复制该内容

(4)在Github账号上添加公钥

进入Settings设置, 添加或编辑 SSH 密钥: 如果您没有正确的 SSH 密钥,您可以点击 "New SSH key"(新建 SSH 密钥)按钮,然后将刚才赋值的公钥内容粘贴到 "Key" 字段中。 保存更改: 添加 SSH 密钥后,点击Add SSH key

5. 重新尝试克隆:

返回到命令行终端,尝试使用 SSH 协议克隆仓库:

scss 复制代码
git clone git@github.com:LavenGao/DisplayGLTF.git

如果 SSH 密钥配置正确,应该就可以成功地克隆仓库。

相关推荐
Smile丶凉轩1 小时前
微服务即时通讯系统的实现(服务端)----(1)
c++·git·微服务·github
pumpkin845143 小时前
GitHub 和 GitLab
gitlab·github
会讲英语的码农5 小时前
Git项目管理
gitee·github
油泼辣子多加7 小时前
2024年11月21日Github流行趋势
github
A洛7 小时前
Vercel 设置自动部署 GitHub 项目
github·webhooks·自动部署·vercel
油泼辣子多加8 小时前
2024年11月22日Github流行趋势
github
和你一起去月球11 小时前
TypeScript - 函数(下)
javascript·git·typescript
我不是程序猿儿11 小时前
【GIT】TortoiseGit的变基(Rebase)操作
git
yyycqupt18 小时前
git使用(一)
git