嘘~ 正在从服务器偷取页面 . . .

解决 fatal: Could not read from remote repository


解决 fatal: Could not read from remote repository

今天上传不上去,有一次报错是这个

出现该错误一般是以下几种原因:

  • 客户端与服务端未生成 SSH key
  • 客户端与服务端的 SSH key 不匹配
  • 网络不稳定(我应该属于这种

如果是前两种原因的话,我们需要重新生成一次 SSH key,并重新配置一下GitHub账户。


1. 生成新的 SSH key

  • 如果是客户端与服务端未生成 SSH key,那么直接使用下面的指令

    ssh-keygen -t rsa -C "[email protected]"

    其中 "[email protected]" 填你的 github 账号的邮箱。

    这条命令的目的是为了让本地机器 ssh 登录远程机器上的 GitHub 账户无需输入密码。

    ssh-keygen(基于密匙的安全验证):需要依靠密钥进行安全验证,必须为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。
    	-t 即指定密钥的类型。密钥的类型有两种,一种是RSA,一种是DSA。
    	-b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
    	-C 表示要提供一个新注释,用于识别这个密钥。“”里面不一定非要填邮箱,可以是任何内容,邮箱仅仅是识别用的key。
  • 如果是客户端与服务端的 SSH key 不匹配

    此时需要先将本地生成的 id_rsa 以及 id_rsa.pub 这两个文件删掉,然后再生成新的 rsa 密钥。

    这两个文件一般在用户名下的 .ssh 文件夹下。MacOS 可以用 command + shift + . 显示隐藏文件。

生成密钥成功的话和下图差不多

2. 将 SSH key 添加到 ssh-agent

指令

ssh-add ~/.ssh/id_rsa

3. 将 SSH key 添加到你的 Github 账户

打开你的 id_rsa.pub 文件,把里面的东西复制进去就好了。

4. 验证是否成功

指令:

ssh -T [email protected]

可以看到,我的网络不是很好(嗯)。


参考文献

[1] https://blog.csdn.net/m0_69057918/article/details/132139286


文章作者: q779
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 q779 !
评论
  目录