美文网首页程序员
Centos 7 搭建git服务器+gitolite鉴权

Centos 7 搭建git服务器+gitolite鉴权

作者: 鞔倪 | 来源:发表于2017-11-28 17:49 被阅读0次

安装git

yum install git
--查看git版本 git --version

添加git账户并切换至git账户

useradd git
su - git

生成一对RSA密钥用户管理所有git仓库

ssh-keygen -t rsa
一路回车,默认生成密钥位置为/home/git/.ssh目录
将生成的公钥文件改名
cd /home/git/.ssh
mv id_rsa.pub admin.pub

安装gitolite

cd /home/git
git clone git://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
如果安装报错,则根据提示安装相应的依赖后重新(gitolite/install -to $HOME/bin)

配置gitolite

cd /home/git/.ssh
$HOME/bin/gitolite setup -pk admin.pub
完成后
cd /home/git
ls
可以看到多了一个repositories文件夹,打开repositories可以看到两个仓库gitolite-admin.git和test.git
看名称就知道干什么用的;下面我们主要对gitolite-admin.git仓库进行操作,就可以管理服务器上的全部仓库了。

管理用户及仓库

cd /home/git
git clone git@服务器IP:/gitolite-admin
完成后cd到clone下来的gitolite-admin目录中,可以看到conf、keydir
keydir目录就是用来放所有客户端用户的pub文件的
conf目录就是用来配置仓库、用户、用户组权限的
cd conf
vim gitolite.conf
可以看到以下配置信息:
repo gitolite-admin
RW+     =   admin
repo testing
RW+     =   @all

创建用户组
@组名 = admin lisi zhangsan 与keydir中的公钥名相同
创建仓库
repo demo(即仓库名/项目名)
配置权限
RW+ = @用户组/用户名 多个空格隔开
提交更新
cd /home/git/gitolite-admin
git add .
git commit -am 'update msg'
git push origin master(首次需要根据提示配置email、name)
【以后每次新增仓库、修改权限、更新用户、用户组都得在这个clone的项目下conf中配置然后push到仓库服务器,用户的pub文件上传至keydir目录即可,以用户名命名好区分】
push完后可以看到/home/git/repositories新创建的仓库

客户端生成公钥发送管理员

windows下:
某一文件夹下鼠标右键,Git Bash Here
输入ssh-keygen.ext
一路回车生成密钥对
默认C:\Users\Administrator\.ssh下id_rsa.pub
更改名称,比如:lisi.pub然后发送给管理员,管理员上传至gitolite-admin下的keydir目录,conf下的gitolite.conf配置用户权限,需要跟pub文件名一致,然后add commit push

客户端clone项目

git bash方式:直接git clone git@服务器IP:项目.git即可
TortoiseGit方式:
需要配置密钥信息,否则会提示权限错误
1、打开TortoiseGit安装目录下的bin目录,打开puttygen.exe,点击load
选择之前生成的私钥,然后点击”save private key“保存成ppk文件。
2、打开TortoiseGit的Settings,点击左侧Git,然后点击右面板的全局配置
设置name为刚刚修改发给管理员的名称,点击保存。
3、系统菜单栏中点击TortoiseGit目录下的Pageant,右下角多出一个图标,点击图标,点击add key选择刚刚保存的ppk文件关闭窗口即可
4、clone项目(url:git@IP:项目名.git)也可在TortoiseGit的clone面板操作步骤3,有个load Putty Key

感谢

非常高兴能够帮助到更多的人,让后来的人少踩坑,书写不易,总结经验教训更不易,如果这篇文章能够帮助到你,请不要吝啬你的赞,在此表示感谢!

发布地址

简书:http://www.jianshu.com/u/20bd533cbfdc
CSDN:http://blog.csdn.net/luo807564621

相关文章

网友评论

    本文标题:Centos 7 搭建git服务器+gitolite鉴权

    本文链接:https://www.haomeiwen.com/subject/xmpebxtx.html