生成GitHub SSH密钥时仅生成id_rsa私钥,缺失id_rsa.pub公钥求助
解决SSH密钥仅生成私钥、缺失公钥的问题
1. 修正命令语法错误
你使用的生成命令末尾缺少闭合的双引号,这会导致命令执行异常:
# 错误命令 $ ssh-keygen -t rsa -b 4096 -C "myemail@gmail.com
正确的命令应该是:
# 正确命令 $ ssh-keygen -t rsa -b 4096 -C "myemail@gmail.com"
2. 重新生成完整密钥对
先清理无效的私钥,再重新执行正确命令:
- 进入SSH密钥默认存储目录:
cd ~/.ssh/
- 删除已生成的无效私钥:
rm id_rsa
- 重新生成密钥对:
ssh-keygen -t rsa -b 4096 -C "myemail@gmail.com"
执行时按提示操作:
- 按回车确认默认存储路径(
~/.ssh/id_rsa) - 可选设置密钥密码(直接回车可跳过)
- 若设置了密码,再次输入确认
完成后检查~/.ssh/目录,应该同时存在id_rsa(私钥)和id_rsa.pub(公钥)。
3. 从现有私钥导出公钥(备用方案)
如果重新生成后仍无公钥,可直接从已有的私钥导出对应公钥:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
内容的提问来源于stack exchange,提问作者Abhijeet Tripathi
相关产品推荐
相关产品推荐

