git clone遇到的[ssh: connect to host github.com port 22]


起因

在學習遞歸的時候,對漢諾塔小研究了一番,參考網上寫了個demo,后面就想同步到github

過程

這台電腦是新電腦,所以需要先本地生成ssh keyssh-keygen -t rsa -C "youremail@example.com"
可參考-遠程倉庫
第一步:ssh-keygen -t rsa -C "youremail@example.com"
第二步:在用戶目錄下,找到.ssh文件夾下的id_rsa.pub,打開先復制全部內容;
第三步:登錄github,個人帳號setting下的SSH and GPG keys,然后點擊右上角的New SSH key。之后把第二步復制的都拷貝到key輸入框;
第四步:開始克隆:git clone git@github.com:***/***.git

正常會成功的,可惜報錯了!


g1.png

解決

因為公司是代理上網,初步猜測應該是這個問題。

那就googlebaidu尋找解決方式。

根據報錯提示,應該是ssh連不通。
網上找到ssh -T git@github.com可參考-Testing your SSH connection
測試過結果如下:


g2.png


所以,接着搜索ssh: connect to host github.com port 22: Connection timed out,發現貌似找到解決方式了。


image.png


可參考-ssh: connect to host github.com port 22: Connection timed out
這個說的就是把協議從ssh方式換成https。先別管本地git config --local -e是否可行,要盡快解決問題。
所以,git clone的時候,換個協議就好了!

git clone https://github.com/***/***.git


image.png

小結

xxx

思考

  1. 為什么ssh協議會存在問題,而https則不會?什么是ssh協議?https協議呢?兩者的區別?
  2. git bash下的git clone xxx是怎么發請求的?類似於curl?還是??
  3. xxx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM