首先理解下什么是 git github gitlab gitosis gitolite,当时让我搭建git 蒙了好长时间最后才明白.
(1)yum install git-core
(2)yum install openssh-server
(3) yum install openssh-client
然后输入git 出现git关语法就说明安装成功了
git 项目权限的管理
SSH 连接
如果已经有了一个所有开发成员都可以用 SSH 访问的服务器,架设第一个服务器将变得异常简单,几乎什么都不用做(正如上节中介绍的那样)。如果需要对仓库进行更复杂的访问控制,只要使用服务器操作系统的本地文件访问许可机制就行了。
如果需要团队里的每个人都对仓库有写权限,又不能给每个人在服务器上建立账户,那么提供 SSH 连接就是唯一的选择了。我们假设用来共享仓库的服务器已经安装了 SSH 服务,而且你通过它访问服务器。
有好几个办法可以让团队的每个人都有访问权。第一个办法是给每个人建立一个账户,直截了当但略过繁琐。反复运行 adduser 并给所有人设定临时密码可不是好玩的。
第二个办法是在主机上建立一个 git 账户,让每个需要写权限的人发送一个 SSH 公钥,然后将其加入 git 账户的 ~/.ssh/authorized_keys 文件。这样一来,所有人都将通过 git 账户访问主机。这丝毫不会影响提交的数据 — 访问主机用的身份不会影响提交对象的提交者信息。
另一个办法是让 SSH 服务器通过某个 LDAP 服务,或者其他已经设定好的集中授权机制,来进行授权。只要每个人都能获得主机的 shell 访问权,任何可用的 SSH 授权机制都能达到相同效果。
我这里用的第二种方式 添加一个git用户
useradd -m git
passwd git #这里设置git 的密码也为 git
然后去修改 /etc/ssh/sshd_config 文件,找到 AuthorizedKeysFile .ssh/authorized_keys 把#去掉
然后重启/etc/init.d/sshd restart
su git
ls -ld .ssh #如果没有的话 mkdir .ssh;chmod 700 .ssh
权限必须是700 且属于本人账号与组才可以(git)
cd /home/git/.ssh/
创建一个文件.
vi authorized_keys
cat 你上传的公钥 >> .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
ls -l .ssh
这样你在你的win 电脑上访问git仓库就不用输入密码了
_________________________________________________________________________________________________________________________
gitosis搭建
su root cd /home/ git clone git://eagain.net/gitosis.git cd gitosis sudo python setup.py install sudo -H -u git gitosis-init < /home/git/id_rsa.pub #这里是你传的公钥地址#
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
现在你查看一下 /home/git/.ssh/authorized_keys 就有你添加的公钥了 然后在本地 git clone git@xxx.xxx.xxx.xxx:/home/git/repositories/gitosis-admin.git
是不是不用输入密码了。哈哈...