1.配置前准备
服务器:安装ssh server另外还装了gitosis做git的权限管理
sudo apt-get install openssh-server git-core
客户端:安装git-core openssh-client
sudo apt-get install git-core openssh-client
使用ssh-keygen生成一对密钥,注意 这个时候不要用sudo
ssh-keygen -t rsa(全都直接回车即可)
默认情况下,公钥和私钥会保存在~/.ssh目录下
2.服务器配置
服务器:创建git服务器管理用户
sudo useradd -m git
sudo passwd git
sudo mkdir /home/git/repositories
sudo chown git:git /home/git/repositories
sudo chmod 755 /home/git/repositories
git config --global user.name "test"
git config --global user.email "test@163.com"
sudo apt-get install python-setuptools
cd /tmp
git clone https://github.com/res0nat0r/gitosis.git
cd gitosis
sudo python setup.py install
cp ~/.ssh/id_rsa.pub /tmp
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
3.客户端配置
客户端:在/tmp目录下clone仓库
cd /tmp
git clone git@hostname:gitosis-admin.git
编辑gitosis.conf文件
cd gitosis-admin
gedit gitosis.conf
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = a@server1
[group developers]
writable = helloworld
members = a@server1 b@server2
[group test]
readonly = helloworld
members = c@server3
这个配置文件表达了如下含义:gitosis-admin组成员有a,该组对gitosis-admin仓库有读写权限; developers组有a,b两个成员,该组对helloworld仓库有读写权限; test组有c一个成员,对helloworld仓库有只读权限。 当然目前这些配置文件的修改只是在你的本地,你必须推送到gitserver上才能真正生效。 加入新文件、提交并push到git服务器:
将本用户的公钥拷贝到keydir目录内的user1.pud, 这个user1.pud名字 和gitosis.conf中的“members = user1”对应
cp /home/user1/.ssh/id_rsa.pud /tmp/gitosis-admin/keydir/user1.pud
git add .
git commit -am "add user1 pub"
git push
转载自:
http://blog.sina.com.cn/s/blog_55feec4101010g4y.html
本文详细介绍如何搭建基于SSH的Git服务器,包括服务器端的配置过程,如安装必要的软件、创建git用户及权限管理等,同时也涵盖了客户端配置流程,比如生成密钥、配置远程仓库等。

92

被折叠的 条评论
为什么被折叠?



