在Windows10下搭建Git服务器 使用COPSSH+msysGit

来源:互联网 发布:淘宝祖国版手办 编辑:程序博客网 时间:2024/05/21 10:12

最近公司需要搭建一个在Windows环境下的Git服务器,然后在网上搜罗了一大堆教程。

在搭建过程中,出现各种各样的错误,然后就去网上找各种解决办法。不夸张的说,基本上所有的博客论坛,中文外文的教程我都看了个遍,但是又没有实实在在能够解决问题的答案,是真的心累。

在经历了三天时间,终于把服务器搭建好了,因为网上教程不够详细,也为后来人不走弯路,也为了备份。所以在这里写一份详细的配置文章。

(ps:以下只是个人见解,如有不对,敬请指出 )

mysysGit下载地址:http://msysgit.github.io/

COPSSH下载地址:http://pan.baidu.com/s/1eRSGWWq

服务端需要安装的软件(Git for Windows,COPSSH)

客户端需要安装的软件(Git for Windows)


客服端需要的操作其实就是设置自己的用户名和邮箱让电脑认识它,就像每个人刚出生总要有姓名对吧,别人才好称呼你。

还有就是创建一对公私钥进行连接服务端的验证


(1)安装Git(2.13.3版本)

记得在Additional  icons前面打上勾


在安装完后,在桌面上打开Git Bash进行运行前的初始化

(因为是在桌面打开的,所以公私钥会 生成在C:/用户/Administrator)


(2)服务端安装COPSSH

安装目录它会默认安装在program file目录下,目录带空格可能会导致有问题,所以我选择安装在盘的根目录下

这一步该软件会帮你创建一个SvcCOPSSH用户,密码可以自己改(我也不晓得默认密码是什么)

点击确定,然后等待安装完成。

打开菜单栏里的COPSSH Control Panel进行配置。


点击最上面的Users,然后点击Add添加一个给客户端进行连接的用户。

在这里选择用户,我是选择Administrator,然后点击Forward。也可以选择刚刚默认帮你创建的SvcCOPSSH用户

(没试过,也不晓得由会不会出现什么毛病)


不要勾选第一栏的Allow password authentication,点击Forward完成。

可以看到一个用户已经被添加了。但是这样只是增加了一个客户端可以连接的用户,客户端现在还不能连接上服务端。点击Keys你会发现里面什么也没有,这里就是用来配置客户端的公钥的,只要添加了客户端的公钥进去,客户端就能进行连接啦!


我们在之前已经执行了相关命令生成公私钥了。打开C:/用户/Administrator下的.ssh文件夹,找到id_rsa_pub,它就是公钥了。

打开它复制里面的全部的内容。


打开C:/ICW/home/Administrator下的.ssh文件夹(这个),新建一个authorized_keys文件,注意这里没有任何后缀名。


然后打开把刚刚复制的公钥粘贴进去保存。然后你会点击Keys里面就添加了客户端的公钥。(我这里添加了两个客户端公钥)



打开Git窗口,输入:ssh  用户@服务器IP地址,可以发现连接已经成功了。

但是现在不能使用git命令,COPSSH它是不认识git是什么鬼东西,所以我们要让COPSSH服务器认识它,

我们才能在登录上服务器上使用Git命令。(我们需要登录上服务器使用git命令创建一个远程仓库)

(用户是你在服务器上创建的需要连接的用户)



(1)复制

C:\Git\mingw64\bin下面的libiconv-2.dll

C:Git\mingw64\libexec\git-core下面的

git.exe、git-upload-pack.exe

git-upload-archive.exe、git-receive-pack.exe到C:\ICW\bin

复制

C: Git\mingw64下面的share文件到COPSSH的安装根目录下




复制之后



(2)修改文件

添加

gitpath='/cygdrive/C/Git/mingw64/bin'

gitcorepath='cygdrive/C/Git/mingw64/libexec/git-core'

exportPATH="/bin:$syspath:$gitpath:$gitcorepath:$winpath"

C:\ICW\etc 目录下的 profile文件中



添加

gitpath='/cygdrive/c/Git/mingw64/bin'

gitcorepath='cygdrive/c/Git/mingw64/libexec/git-core'

PATH=${gitpath}:${gitcorepath}:${PATH}

C:\ICW\home\Administrator下的 .bashrc文件中



重启COPSSH服务器,登录服务器,输入git,发现COPSSH服务器可以识别Git命令了。


接下来我们使用Git命令创建一个远程仓库

(登录上服务器你所在的目录为C:\ICW\home\Administrator,所以我们创建的远程仓库在此目录下,也只能在此目录下才能被客户端进行访问

,也就是你用copssh添加的用户目录下才可以

我在桌面上新建一个文件夹,右击选择git bash打开

输入git clone Administrator@192.168.2.556:test(服务器用户名@服务器IP地址:远程仓库名,注意是冒号

注意仓库路径,在用户根目录下的话直接填冒号仓库名就可以了,如果不是要用~/用户目录下的路径/仓库名)


看到已经把服务器刚刚创建的远成仓库test克隆过来了


阅读全文
1 0