【日常踩坑】解决 kex_exchange_identification 报错
2024/1/22 5:02:20
本文主要是介绍【日常踩坑】解决 kex_exchange_identification 报错,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 踩坑
- 原因分析
-
解决办法
- 1. 临时关闭代理
- 2. 修改代理软件配置,22 端口走直连
- 3. 改用 HTTPS 协议,走 443 端口
- 参考资料
踩坑
最近在使用 git
时,发现 git pull
时经常会出现下面的报错 kex_exchange_identification: Connection closed by remote host
,导致无法正常拉取代码
$ git pull kex_exchange_identification: Connection closed by remote host Connection closed by 192.30.255.113 port 22 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
原因分析
和之前的 解决 pip 安装第三方包时因 SSL 报错 原因类似,都是因为网络代理导致的
主要是代理服务商为了安全考虑,避免被人当作跳板,会主动拒绝 22 端口的连接,导致无法正常连接到 Github 的服务器
解决办法
知道原因之后,解决办法就很简单了,主要有三种
1. 临时关闭代理
虽然关闭代理最简单,但是可能会导致下载速度过慢
2. 修改代理软件配置,22 端口走直连
最安全的办法是修改代理软件的配置,将 22 端口走直连,不同的代理软件配置方式不同,这里就不详细介绍了
3. 改用 HTTPS 协议,走 443 端口
个人最推荐的办法是改用 HTTPS 协议,走 443 端口,因为这样不仅可以解决上面的问题,还可以通过代理提高下载速度
这里主要参考了 Github 官方的教程
在 ~/.ssh/config
文件中添加下面的配置即可,之后就可以正常使用 git pull
等操作了
Host github.com Hostname ssh.github.com Port 443 User git
参考资料
- 【Github】开启Open*之后,无法使用 git clone/push,kex ssh 密钥错误
- 【Github】在 HTTPS 端口使用 SSH
本文作者: ywang_wnlo
本文链接: https://ywang-wnlo.github.io/posts/a23842fe/
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
这篇关于【日常踩坑】解决 kex_exchange_identification 报错的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升