一、前言
- 问题描述
- 通过 ssh 的 url 使用 git 命令克隆 github 上私有项目
- 出现
fatal: Could not read from remote repository.
本地仓库无法从远程仓库读取数据 - 克隆失败
- 问题定位
- 一般是仓库 URL 错误或者权限问题
- 这里排除 URL 错误,初步定位为访问权限问题
- 解决方案
- 为了实现安全的远程仓库访问和操作,可在 GitHub 上配置 SSH 密钥
- 当使用 SSH 密钥连接到 GitHub 时,无需每次都输入用户名和密码,而是通过密钥进行身份验证
二、GitHub 配置 SSH 密钥
1、检查本地是否存在 SSH key
-
方法一:直接在文件夹中查看是否存在
id_rsa
以及id_rsa.pub
两个文件(一般在C:盘的用户名下的.ssh文件夹里) -
方法二:通过 Open Git Bash 命令框,执行以下两个命令查找,看是否出现
id_rsa
以及id_rsa.pub
cd ~/.ssh // 进入.ssh文件夹ls // 查看文件列表
-
如果已存在,可以直接到第3步,也可以删除两个密钥文件到达第2步
2、生成新的 SSH key
-
使用如下命令生成新的密钥,双引号内为自己的 github 账户邮箱,执行后一路回车即可
ssh-keygen -t rsa -C "youremail@example.com"
-
完成后可使用步骤1的方法再次检查一下
3、在 GitHub 账户上配置 SSH
-
在 github 账户上进入Settings设置的 SSH 配置模块 https://github.com/settings/keys
-
New SSH key,将 .ssh 文件夹下的
id_rsa.pub
公钥文件内容复制粘贴到 Add new SSH Key 的 Key 中,添加公钥
4、检查是否配置成功
-
使用如下命令检查是否配置成功
ssh -T git@github.com
-
配置成功后即可使用 ssh 的 url 克隆仓库