使用RSA/Ed25519/ECDSA克隆GitHub仓库遇公钥权限拒绝问题
SSH密钥克隆GitHub仓库遇Permission denied (publickey)问题记录
RSA算法问题及操作流程
- 执行命令:
ssh-keygen -t rsa -b 4096 -C "esp...uin@gmail.com",按提示回车完成密钥生成 - 执行
eval "$(ssh-agent -s)"启动ssh-agent - 执行
ssh-add ~/.ssh/id_rsa将私钥添加到代理 - 复制
id_rsa.pub内容并添加至GitHub账户的认证SSH密钥列表 - 执行
git clone时收到错误:ERROR: You're using an RSA key with SHA-1, which is no longer allowed...,无法克隆仓库 - 执行
ssh -vT git@github.com显示已成功认证,但GitHub不提供shell访问
针对RSA的尝试方案:更换为Ed25519/ECDSA密钥类型
Ed25519算法问题及操作流程
- 执行命令:
ssh-keygen -t ed25519 -C "esp...uin@gmail.com"生成密钥 - 启动ssh-agent并将私钥添加至代理
- 将公钥添加至GitHub账户
- 执行
git clone时提示:git@github.com: Permission denied (publickey),无法克隆 - 执行
ssh -vT git@github.com和ssh -T git@github.com均返回权限拒绝
ECDSA算法问题及操作流程
操作步骤与Ed25519一致,执行git clone时同样遭遇Permission denied (publickey)错误,ssh测试也返回权限拒绝
针对Ed25519和ECDSA的尝试方案:
- 创建
~/.ssh/config文件并配置指定GitHub使用对应私钥 - 修改
~/.ssh目录及文件权限:chmod 600私钥、chmod 644公钥、chmod 600 config
补充环境信息
- 使用OpenSSH_8.9p1 Ubuntu-3ubuntu0.7、OpenSSL 3.0.2环境
- 可使用RSA密钥正常克隆GitLab仓库内容
内容的提问来源于stack exchange,提问作者ElJoaca
相关产品推荐
相关产品推荐

