使用ED25519算法生成SSH密钥,解决git clone报错:early EOF fetch-pack: invalid index-pack output

Posted 魏晓蕾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ED25519算法生成SSH密钥,解决git clone报错:early EOF fetch-pack: invalid index-pack output相关的知识,希望对你有一定的参考价值。

  1. 下载最新版Git工具:Git-2.35.1.2-64-bit.exe,下载地址:https://git-scm.com/download/win,安装运行Git工具。
  2. 运行Git安装目录下的Git Bash,生成SSH Key。
  3. 如果使用RSA算法生成SSH Key,键入以下命令:
ssh-keygen -t rsa

在~/.ssh/目录下生成id_rsa文件和id_rsa.pub文件,将id_rsa.pub文件内容拷贝到远程Git网页中。
IDEA中git clone ssh://xxx@xxx.com:22/xx.git,此时提示报错:

  1. 进入IDEA软件,VCS -> Get from Version Control,报错ED25519 key fingerprint不匹配,原因是新版Git工具使用ED25519算法生成SSH Key,而在Git网页中粘贴的是RSA算法生成的SSH Key,因此报错public key密钥不匹配。
  2. 在Git Bash中输入以下命令,使用ED25519算法生成SSH Key。
ssh-keygen -t ed25519

在~/.ssh/目录下生成id_ed25519文件和id_ed25519.pub文件,将id_ed25519.pub文件内容配置到Git网页中。
6. 在 Git Bash 中再次 git clone,报如下错误:

  1. 在Git网页中拷贝HTTPS地址,在IDEA中使用HTTPS方式拉取代码。
  2. 进入项目代码,VCS->Git->Remotes,将项目拉取地址由http方式改为ssh方式。

以上是关于使用ED25519算法生成SSH密钥,解决git clone报错:early EOF fetch-pack: invalid index-pack output的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ssh-ed25519 作为 pysftp 的密钥来设置主机密钥文件

如何使用 Bouncy Castle 创建与 OpenSSH 兼容的 ED25519 密钥?

Linux 生成密钥

openssl 生成的 ed25519 密钥的精确字节格式

Linux-基于公私钥实现免密码登录

ANFS | ED25519密钥体系 技术一小步 行业发展一大步