踩坑
最近在使用 git
時(shí),發(fā)現(xiàn) git pull
時(shí)經(jīng)常會(huì)出現(xiàn)下面的報(bào)錯(cuò) kex_exchange_identification: Connection closed by remote host
,導(dǎo)致無法正常拉取代碼
$ 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 安裝第三方包時(shí)因 SSL 報(bào)錯(cuò) 原因類似,都是因?yàn)榫W(wǎng)絡(luò)代理導(dǎo)致的
主要是代理服務(wù)商為了安全考慮,避免被人當(dāng)作跳板,會(huì)主動(dòng)拒絕 22 端口的連接,導(dǎo)致無法正常連接到 Github 的服務(wù)器
解決辦法
知道原因之后,解決辦法就很簡單了,主要有三種
1. 臨時(shí)關(guān)閉代理
雖然關(guān)閉代理最簡單,但是可能會(huì)導(dǎo)致下載速度過慢
2. 修改代理軟件配置,22 端口走直連
最安全的辦法是修改代理軟件的配置,將 22 端口走直連,不同的代理軟件配置方式不同,這里就不詳細(xì)介紹了
3. 改用 HTTPS 協(xié)議,走 443 端口
個(gè)人最推薦的辦法是改用 HTTPS 協(xié)議,走 443 端口,因?yàn)檫@樣不僅可以解決上面的問題,還可以通過代理提高下載速度
這里主要參考了 Github 官方的教程
在 ~/.ssh/config
文件中添加下面的配置即可,之后就可以正常使用 git pull
等操作了文章來源:http://www.zghlxwxcb.cn/news/detail-815366.html
Host github.com
Hostname ssh.github.com
Port 443
User git
參考資料
- 【Github】開啟OpenClash之后,無法使用 git clone/push,kex ssh 密鑰錯(cuò)誤
- 【Github】在 HTTPS 端口使用 SSH
本文作者: ywang_wnlo
本文鏈接: https://ywang-wnlo.github.io/posts/a23842fe/
版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協(xié)議。轉(zhuǎn)載請注明出處!文章來源地址http://www.zghlxwxcb.cn/news/detail-815366.html
到了這里,關(guān)于【日常踩坑】解決 kex_exchange_identification 報(bào)錯(cuò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!