Git Server搭建

来源:互联网 发布:mysql去重distinct 编辑:程序博客网 时间:2024/06/05 13:57

用途:不想放在github上公开或者只是在局域网内使用git,则可以自己搭建git server来使用

环境:推荐linux (本人用的ubuntu14.04)

流程:
1.安装SSH服务端,使远程主机能访问本机

sudo apt-get install openssh-server

(安装时遇到了依赖问题,openssh-client版本不符合
下列软件包有未满足的依赖关系:
openssh-server : 依赖: openssh-client (= 1:6.6p1-2ubuntu1)
解决方法:先安装提示对应版本的openssh-client

    sudo apt-get install openssh-client=1:6.6p1-2ubuntu1

参考:http://www.cnblogs.com/mliudong/p/4094519.html)

2.安装git

    sudo apt-get install git

3.创建git用户来管理git

    sudo adduser git

4.创建只包含git信息而不看不到项目具体内容的裸仓库

    cd GitServer    sudo git init --bare sampleGit.git

(关于git init –bare概念 参考http://blog.csdn.net/ljchlx/article/details/21805231)

5.修改仓库用户组

    sudo chown -R git:git sampleGit.git

之后,git server算是创建完成了,接下来需要添加可访问该git的用户。

在另一台内网电脑中建立git client:
1.客户端生成公钥

    ssh-keygen -t rsa 

这里写图片描述
(一般在home/user(你的账户)/.ssh/文件夹中,该文件夹是隐藏的)

2.进入公钥所在文件夹,查看公钥id_rsa.pub,内容类似如下

这里写图片描述

2.发送公钥给服务端管理者
即将id_rsa.pub文件内容发给服务端管理者,让其添加到服务器端的authorized_keys文件中(见下文)

3.待管理员添加后即可正常访问

4.在本地建库

    git init

5.克隆服务器git仓库

    git clone git@192.168.1.125:/home/ice/GitServer/sampleGit.git

这里写图片描述
之后就可以正常操作

服务端添加用户公钥:
1.配置sshd_config 文件

    vim /etc/ssh/sshd_config 

2.找到AuthorizedKeysFile这行,取消前边的#注释 ,后边改为
/home/git/.ssh/authorized_keys
表示公钥存放的位置
这里写图片描述
还可以将最下PasswordAuthentication取消注释,然后设为no,即可关闭密码验证模式,使只有记录了公钥的用户才能登陆。

3.之后编辑/home/git/.ssh/authorized_keys文件,将每个用户传来的公钥写入其中。
(需要注意,authorized_keys的权限应该为644,.ssh目录的权限应该为700,权限不对公钥认证时会出问题)
这里写图片描述
4.重启sshd
(只是添加key的时候貌似不用重启即可)

参考:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
http://www.cnblogs.com/ToDoToTry/p/3956687.html

0 0
原创粉丝点击