测试GitHub SSH连接返回断开报错,是否SHA256密钥配置有误?
错误含义解释
你贴出的日志里前两行是SSH连接的正常提示,不属于错误:
Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.:这是你第一次通过SSH连接GitHub的正常提示,系统已经把GitHub的主机公钥存到本地的可信列表里,后续连接不会再弹出该提示。Enter passphrase for key '/Users/(my_username)/.ssh/id_rsa'::说明你生成SSH密钥时设置了保护密码,输入对应密码即可,输入过程中终端不会显示输入内容,属于正常设计。
后面两行是真正的报错:Received disconnect from 192.30.255.113 port 22:11: Bye Bye表示GitHub服务器主动断开了你的SSH连接,没有完成身份校验。
安全风险说明
你完全不用担心安全漏洞问题:该报错只是普通的连接失败,SSH的设计是私钥全程存储在你本地,不会传输给GitHub,整个过程没有泄露你的任何敏感信息。
常见原因及排查步骤
你可以按顺序排查问题,同时确认密钥是否添加成功:
- 核对本地公钥和GitHub上添加的内容是否一致
本地公钥默认存储在~/.ssh/id_rsa.pub,打开该文件后复制全部内容,不要漏开头的ssh-rsa前缀,也不要多复制多余的换行、空格,再登录GitHub进入SSH密钥设置页面,对比你添加的公钥和本地内容是否完全一致,不一致就重新添加即可。 - 确认密钥密码输入正确
如果生成密钥时设置了密码,注意输入时不要打错大小写、特殊字符,输完直接按回车即可。 - 排查22端口被封禁的问题
如果上述两项都没问题,大概率是你当前的网络环境(公司/学校内网、运营商限制)封禁了SSH默认的22端口,你可以执行命令ssh -T -p 443 git@ssh.github.com测试:- 如果输出类似
Hi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access.的内容,说明密钥配置完全正确,只是22端口被封。你可以在本地~/.ssh/config文件(没有就新建一个)添加如下配置,后续就能正常连接:
Host github.com Hostname ssh.github.com Port 443 User git- 如果还是报错,就重新生成一次SSH密钥,重新添加到GitHub即可,生成时可以选择不设置保护密码,避免输错的问题。
- 如果输出类似
内容的提问来源于stack exchange,提问作者PraderaNoire
相关产品推荐
相关产品推荐

