前言

目前gitosis已经逐渐被淘汰,所以推荐安装gitolite来管理和配置权限。gitolite的权限能分配到每个分支,包括tag等等,还支持正则匹配。要比gitosis强大太多。

以下配置全部是在Centos7下配置。

开启服务器公钥验证

编辑ssh_config:

搜索sshd_config文件,找到下面的位置修改。

开启RSA认证功能

开启公匙认证

以上如果没有开启认证功能,你将每次提交代码的时候都要求输入密码,之所以要开启认证功能是为了能让用户持有rsa的时候可以自动登录,免除输入密码的环节,也就是SSH的自动登录。

安装git所需要的依赖

下载git

从 GitHub 上直接下载 https://github.com/git/git/archive/master.zip

安装gitolite

现在gitosis已经逐渐被gitolite所替代,安装gitosis的方法也会在后面介绍,现在先介绍主流的。

先自己电脑上生成一个ssh公钥

本机

注意生成公钥的参数

-C 参数后面设置你的邮箱。这里是我自己的邮箱,请不要直接复制粘贴,把我的邮箱替换成你们自己的。

上传公钥到服务器上

在linux创建git用户并且设置权限

创建/home/git/bin 文件夹

.bashrc 末尾添加

下载gitolite并安装

安装完后就切换到本机

conf 文件夹下有个配置文件 gitolite.conf 这个文件配置可以每个用户的权限
keydir 这个文件放置用户公钥

安装gitosis

建议使用上面的gitolite

安装需要python-setuptools支持,首先安装python-setuptools.

下载gitosis并安装

先自己电脑上生成一个ssh公钥

本机

注意生成公钥的参数

-C 参数后面设置你的邮箱。这里是我自己的邮箱,请不要直接复制粘贴,把我的邮箱替换成你们自己的。

上传公钥到服务器上

如果上传不鸟,服务器返回结果提示无法识别scp命令。你可能没有安装 openssl-client。这里我以CentOS为例子。
如果没有请先安装再使用命令上传。

安装 openssl-client 如果能正常使用scp上传就不需要安装。

 

下面开始安装gitosis.需要特别注意下面的权限设置,如果设置不对,那么用户使用git的时候会提示需要输入密码,所以权限设置至关重要。

如果上面的步骤安装失败,可能是没有安装python-setuptools
所以需要先安装python-setuptools

这个时候就可以在本地计算机使用

gitosis.conf中的内容大致是:

这个就是服务器上git的权限配置文件了。

具体例子可以参考GitHub上gitosis项目的配置例子文件example.conf。

https://github.com/res0nat0r/gitosis/blob/master/example.conf

相关文章

发表我的评论

评论 (目前0条评论) :