Android Studio与IntelliJ中Github推送/拉取功能故障求助
解决Android Studio/IntelliJ SSH连接Github突然失效的问题
嘿,这种两台机器同时出问题的情况,基本可以排除单台设备的临时故障,大概率是Github的SSH认证策略更新和你用的老版本IDE自带的SSH客户端不兼容导致的——毕竟你的Android Studio 3.0.1和IntelliJ 2017.3.4都是2017-2018年的版本,内置的SSH工具对新加密算法支持有限。
给你几个一步步排查解决的方案:
1. 先在命令行验证SSH连接状态
先打开终端(Windows用CMD或Git Bash),跑一下这个命令测试和Github的SSH连通性:
ssh -T git@github.com
如果输出类似no matching host key type found或者加密算法相关的错误,那基本坐实是加密兼容问题了。
2. 修改SSH配置强制兼容老算法
在你的用户目录下找到.ssh文件夹(Windows路径是C:\Users\<你的用户名>\.ssh),创建或编辑config文件,添加以下内容:
Host github.com Hostname github.com User git KexAlgorithms +diffie-hellman-group1-sha1 HostkeyAlgorithms +ssh-dss PubkeyAcceptedAlgorithms +ssh-rsa
这段配置是让SSH客户端强制使用老版本IDE支持的加密算法,适配Github的认证要求。
3. 重置IDE的SSH缓存与配置
虽然之前配置过,但IDE可能缓存了旧的认证信息:
- 打开IDE,进入
File > Settings > Version Control > Git - 确认
SSH executable选项:如果选的是Built-in,可以切换成Native(用系统的SSH客户端,刚才我们已经配置过了);如果本来就是Native,先改成Built-in再改回来刷新缓存 - 接着进入
Settings > Version Control > GitHub,删除现有的账号,重新添加时选择SSH认证,指定你的私钥路径
4. 检查系统时间是否同步
别小看这个!如果两台机器的系统时间和实际时间偏差超过5分钟,SSH的时间戳验证会直接失败,导致连接被拒绝。去系统设置里确认时间同步正常。
另外提一句:长期来看,老版本IDE的兼容性问题会越来越多,如果项目允许的话,建议升级到较新的Android Studio/IntelliJ版本,从根源上解决这类兼容问题。
内容的提问来源于stack exchange,提问作者Sean Barbeau
相关产品推荐
相关产品推荐

