GitHub添加SSH密钥报错:需提供OpenSSH公钥格式有效密钥
解决方案
完全不需要手动给密钥添加ssh-rsa类前缀,报错是因为你复制错了密钥文件。
你粘贴的内容以-----BEGIN OPENSSH PRIVATE KEY-----开头,说明打开的是私钥文件id_ed25519:这个文件是存在本地的敏感身份凭证,绝对不能上传到任何公开平台,格式本身也不符合GitHub对公钥的校验规则。
- 生成ed25519类型SSH密钥时,默认会在
~/.ssh/目录下生成两个配对文件:- 无后缀的
id_ed25519是私钥,内容是PEM格式的加密块,必须妥善保管、不能泄露 - 带
.pub后缀的id_ed25519.pub才是需要上传到GitHub的公钥,文件内容本身就是以ssh-ed25519开头的单行文本(你生成的是ed25519类型密钥,对应前缀不是ssh-rsa),直接全选复制粘贴到Key输入框即可通过校验,不需要做任何额外修改。
- 无后缀的
- 怕手动打开文件复制出错,可以直接用命令一键把公钥复制到剪贴板:
- macOS:
pbcopy < ~/.ssh/id_ed25519.pub - Windows(Git Bash环境):
cat ~/.ssh/id_ed25519.pub | clip - Linux(桌面环境已安装xclip):
xclip -selection clipboard < ~/.ssh/id_ed25519.pub
- macOS:
注意:私钥等同于SSH访问的身份密码,一旦泄露,其他人可以直接冒充你操作绑定了该密钥的所有代码仓库,任何场景下都不要对外暴露私钥内容。
内容的提问来源于stack exchange,提问作者Gus
相关产品推荐
相关产品推荐

