Centos6.5 搭建基于 SSH协议 Git Server 服务器


  • Git 数据传输协议:
    • 本地传输
    • SSH 协议
    • Git 协议
    • HTTP 协议
  • SSH 是唯一同时支持读写操作的网络协议

一、 搭建Git-Server

  • 本文主要搭建基于SSH协议的Git-Server
  • 本文Git_server IP: 192.168.1.30

1. 安装 git python-setuptools

# 安装 gitosis 需要用到python-setuptools
yum install git python-setuptools -y

2. 安装gitosis

  • Gitosis 是一套用来管理 authorized_keys 文件和实现简单连接限制的脚本.
  • git-server添加用户和设定权限都是通过git仓库实现,修改完毕,推送后 ,Gitosis就会随之改变运行策略。
# gitossis 项目存放目录
cd /usr/src

# 克隆 gitosis 到本地 
git clone git://github.com/res0nat0r/gitosis.git 

# 通过 python 脚本安装 gitosis
cd gitosis/ && python setup.py install 

3. 添加用户git

# 添加 git 用户
useradd -r -s /bin/sh -c 'git version control' -d /home/git git 
chown git:git -R /home/git

4. 配置项目管理端

  • 可以直接用客户端克隆管理仓库来做管理
  • 但请记得把生成的公钥上传到sever端初始化gitosis

  • 下文用 git-server(192.168.1.30)来做管理

# root用户下生成公钥
ssh-keygen -t rsa   

# 复制公钥到临时存放目录
cp ~/.ssh/id_rsa.pub /tmp/admin.pub    

#切换到git用户
su - git    

#用公钥初始化 gitosis
gitosis-init < /tmp/admin.pub 

#确保 post-update 权限
chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update    

#创建并克隆项目管理仓库
mkdir /git_admin/ -p && cd /git_admin/ 
git clone git@192.168.1.30:gitosis-admin.git    

# 非SSH默认端口克隆命令,例 2222端口
# git clone ssh://192.168.1.30:2222/gitosis-admin.git   

二. 新建项目 web-git

1. 添加项目开发者

# 在项目管理仓库内添加权限
cd /usr/local/git/gitosis-admin 



# vim gitosis.conf
[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = admin

#以下为添加
[group myteam] # 项目用户组名
writable = web-git # 项目名
members = admin # 开放 admin 对 web-git 的权限



# 同步推送到 Git_sever 
git add .  # 添加 
git commit -am "Add web-git project users admin"    # 备注
git push # 推送

2. 开发者初始化项目

# 创建项目存放目录
mkdir /data/web-git 
chown git:git -R web-git/   

# 在项目存放目录下初始化项目
cd /data/web-git    
git init    

# 创建 test.txt 测试文件
echo "test" >> test.txt

# 添加并同步提交到web-git项目
git add test.txt    
git commit -am "the first commit is add test.txt"
git remove add origin ssh://git@192.168.1.30/web-git.git
git push origin master

三. 添加其它开发者

  • 注意:gitosisi.conf 中的用户名和keydir下的密钥名称一定要相同

1. 开放开发权限

# 在项目管理仓库内
cd gitosis-admin/


#vim gitosis.conf 
[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = admin

[group myteam]
writable = web-git
members = admin  penguin  #添加项目开发者penguin 

2. 添加开发者密钥

  • 用户 penguin 已经在 win7 下通过 puttygen 生成密钥 详情
#创建penguin对应公钥文件
#vim keydir/penguin.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgoh8sru+4E0mzZbqyR6OUXlk4/ksJF1G2vlAI9dPrDie2qAt2ZBPk6xPCeDE66YYMfY10gHKDqpFhBI+lUKo9vi
Qj1e5nNGNpKYEdEwCrZUtjlN9N80C1Zxg4jXqMERrpK2mFBGHEKMWW2ltvD9yGQnvsXaZH8BjTs56FmrEAbAZYZjjzJXLyBuf/6V2i5erW75HRVsx67oX8GY5Zd
GEUQA8a6uSyODGtFsl0jxzKwtO2ISrjTj+0psqSFTGxD5ELLqIWrmEBkmNr6NcFmkAq7AYTKEn3j06cIctfFaqppyLKWwarV90a2VY5SQK0vqwjZyqSM7hxw0jc
4F/AIpvyQ== rsa-key-20150901
# 同步推送到 Git_server
git add .
git commit -am "add user penguin"
git push    

四. Win7 客户端配置详情

Win7 客户端安装及配置图文详情


  • 至此,全部安装工作完成!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值