配置SSH连接GitHub失败,请求排查解决方法
解决GitHub SSH认证仍要求输入密码的问题
核心问题定位
从你提供的.ssh目录文件列表可以看到,私钥文件名是id_rsa.rsa,而OpenSSH默认会寻找名为id_rsa的RSA私钥文件。这导致SSH客户端无法正确加载你的私钥进行认证,最终 fallback 到密码登录方式。
解决步骤
重命名私钥文件
执行以下命令将私钥文件名改为OpenSSH默认识别的名称:mv ~/.ssh/id_rsa.rsa ~/.ssh/id_rsa修正文件权限
SSH对密钥文件权限有严格要求,权限过宽会被拒绝使用。执行以下命令设置正确权限:chmod 600 ~/.ssh/id_rsa # 私钥仅当前用户可读可写 chmod 644 ~/.ssh/id_rsa.pub # 公钥可被其他用户读取重新测试SSH连接
运行调试命令验证认证是否成功:ssh -Tv git@github.com如果认证成功,你会看到类似
Hi <你的GitHub用户名>! You've successfully authenticated...的提示。额外验证(可选)
- 打开本地
id_rsa.pub文件,复制全部内容,与GitHub账户中添加的公钥逐字符对比,确保完全一致(包括开头的ssh-rsa前缀和结尾的邮箱注释)。 - 如果之前设置了SSH密钥密码,确保ssh-agent已加载该密钥(可执行
ssh-add ~/.ssh/id_rsa手动加载)。
- 打开本地
内容的提问来源于stack exchange,提问作者uchin
相关产品推荐
相关产品推荐

