因为gitlab上要git pull或者git clone,但是每次都出现这个问题。以前偶尔出现这个问题。但是仅仅是偶尔。这是为何呢?而后就開始搜索网上的解决方式了。git
这个问题搜索网上很是多答案。但是试过去都不行。ssh
第一个是说openssh-server没有安装,因为个人电脑是mac,ps -e |grep ssh已经看到安装并且执行了。但是仍是不行;gitlab
第二个方案说的是新建~/.ssh/config而后输入几行代码,这个也不行。post
最后实行要崩溃了才发现个人clone连接是:git@xxxxx:xxxxxxx/xxxxxxxxx.git这样的类型的,我以前用的都是http://开头的,因此就试了一下:http://xxxx/xxxx/xxxxx.git这样的类型的连接,果真成功了。没有出现:ssh: connect to host localhost port 22: Connection refused了。url
当中的缘由可以看git的原理。有几种协议可以为git url。公司内网或者防火墙问题可能使得我不能使用:git@xxxxx:xxxxxxx/xxxxxxxxx.git这样的形式,只是我先用外网试验再说吧,高手可以教教我,我仍是git亲手……spa
Git URL可能以ssh://, http(s)://, git://,或是仅仅是以一个username(git 会以为这是一个ssh 地址)为前辍.
server
而我以前用的连接是什么忘了,多是混着用,因此偶尔出现这个问题。it