无法通过SSH连接GitHub?密钥验证失败问题排查
SSH连接GitHub密钥验证失败的排查与解决
问题现象
- 所有SSH连接GitHub的请求均被密钥验证拒绝,但可正常SSH连接家庭服务器,初期误以为是GitHub端问题。
已尝试的排查操作
- 将脚本生成的密钥同时作为GitHub部署密钥、个人账户SSH密钥添加
- 使用ecdsa/ed25519/rsa多种算法生成新密钥测试
- 在Linux Mint本地机、Ubuntu家庭服务器两个环境分别尝试连接
- 通过
ssh-add命令将密钥加入ssh-agent - 核对GitHub上的密钥SHA256指纹与
ssh -v git@github.com输出的指纹完全一致 - 本地
~/.ssh/config已配置GitHub对应的身份文件,ssh -vT git@github.com输出明确显示客户端已提交密钥,但服务器仍要求密码验证 - 家庭服务器生成密钥并添加为部署密钥后,克隆仓库时同样出现密钥验证被拒
最终根因
路由器的回环伪装配置异常,导致所有SSH请求被错误转发至家庭服务器,并未真正发往外部网络的GitHub服务器。
解决方法
修正路由器的回环伪装/端口转发规则,确保SSH请求(默认22端口)不会被内部转发,而是正常通过外网路由发送到GitHub服务器。
内容的提问来源于stack exchange,提问作者Tyler
相关产品推荐
相关产品推荐

