解决自建Git服务器端口为非22默认端口无法连接问题

Author: dehoo - Posted:1年前 - View:1994

换服务器后,Git自建服务器也跟着搬到新服务器上了,发现Git自建服务器无法连接了, 几经查找后,才知道问题发生在SSH端口改变了,不再是默认的22端口,以前SSH一进都是使用默认的22端口, 换新服务器后,想到以前SSH经常都被暴力破解,虽然未有一次被破解成功过,但是每次查询服务器SSH登录日志时,会 发现数以万次的破解日志,很是讨厌,自己又是强迫症患者,为了不想再被这些东西烦到,就把默认的22端口给改了。这就导致了 Git自建服务器无法连接的问题了。

刚开始也是不知道怎么解决,既然是更改了端口,那我就把端口直接写到远程分支链接后面,如下例,才现在还是根本无法链接,还报了错误。

远程分支链接:

# git remote -v
dev1    git@123.33.44.55:8877/git/dev_v1.git (fetch)
dev1    git@123.33.44.55:8877/git/dev_v1.git (push)

链接带端口报了如下错误:

fatal: '8877/git/dev_v1.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights

由此看来直接带端口连接是无法解决这个问题的。

为了赶紧解决这个问题,我又网上多搜索几篇文章对比了一下,发现网上文章都是千篇一律的相同, 没有把细节说清楚,会让我等遇到这个问题的人根据文章作了修改也无法解决实际问题。

下面我把网上的文章整理一下,根据这个步骤就成功了。

1、在Git用户的/home/git/.ssh的目录新建一个config文件

提示:如果只在Git用户目录下加入config文件还无法连接,那就在root用户目录下也加入config文件。

2、在config文件下写入以下内容

特别注意:

2.1、如果你以域名访问Git自建服务器的,则添加以下内容(xxx是你的域名)

Host xxx
HostName xxx.com
Port 8877

2.2、如是你以IP访问Git自建服务器的,则添加如下内容(注意IP是你远程仓库IP)

Host "123.33.44.55"
Port 8877

3、添加好后,你之前的远程仓库链接是不需要添加端口的,直接就可以连接了,看以下示例。

正确链接:git@123.33.44.55:/git/dev_v1.git
错误链接:git@123.33.44.55:8877/git/dev_v1.git

Tip: 因为你已经在config里已经声明了使用8877端口了,所以无需再在远程仓库链接后加端口。

至此,问题终于得到完美解决了,一举两得。(:

0 人点赞  ∙  0 人收藏  
加入收藏 点赞 我要评论
目前尚无回复