由於gitlab上要git pull或者git clone,可是每次都出現這個問題。之前偶爾出現這個問題。可是僅僅是偶爾。這是為什么呢?然后就開始搜索網上的解決方式了。
這個問題搜索網上非常多答案。可是試過去都不行。
第一個是說openssh-server沒有安裝,由於我的電腦是mac,ps -e |grep ssh已經看到安裝而且執行了。可是還是不行;
第二個方案說的是新建~/.ssh/config然后輸入幾行代碼,這個也不行。
最后實行要崩潰了才發現我的clone鏈接是:git@xxxxx:xxxxxxx/xxxxxxxxx.git這樣的類型的,我之前用的都是http://開頭的,所以就試了一下:http://xxxx/xxxx/xxxxx.git這樣的類型的鏈接,果然成功了。沒有出現:ssh: connect to host localhost port 22: Connection refused了。
當中的原因能夠看git的原理。有幾種協議能夠為git url。公司內網或者防火牆問題可能使得我不能使用:git@xxxxx:xxxxxxx/xxxxxxxxx.git這樣的形式,只是我先用外網試驗再說吧,高手能夠教教我,我還是git親手……
Git URL可能以ssh://, http(s)://, git://,或是僅僅是以一個username(git 會覺得這是一個ssh 地址)為前輟.
而我之前用的鏈接是什么忘了,可能是混着用,所以偶爾出現這個問題。