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

原由

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

過程

這臺電腦是新電腦,因此須要先本地生成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:***/***.gitgithub

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


g1.png

解決

由於公司是代理上網,初步猜想應該是這個問題。ssh

那就googlebaidu尋找解決方式。curl

根據報錯提示,應該是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的時候,換個協議就行了!google

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


image.png

小結

xxx代理

思考

  1. 爲何ssh協議會存在問題,而https則不會?什麼是ssh協議?https協議呢?二者的區別?
  2. git bash下的git clone xxx是怎麼發請求的?相似於curl?仍是??
  3. xxx
相關文章
相關標籤/搜索