1、安装git
从git官方下载相应的版本源码
http://git-scm.com/download
然后进行编译安装
tar -zxvf git-2.5.3.tar.gz
cd git-2.5.3
./configure --prefix=/usr/local/git
make
make install
查看是否安装成功
git --version
出现以下内容,表示安装成功
git version 1.8.3.1
2、 创建一个管理git的账户
adduser git
这时相应的home目录下会出现git的用户目录
3、创建git远程仓库
(1) 在相应放git仓库的目录下创建相应的仓库名, 例如 所有仓库统一放到/data/git下
(2) 初始化一个空的git仓库 ,此时在git下会产生一个zk.git的目录
git init --bare zk.git
(3) 修改zk.git目录的所有者与所属组
chown git:git -R zk.git
4、设置SSH安全认证
客户端与服务器的数据通信需要安全通道,有两种方式:验证git用户密码和基于RSA的公钥加密算法认证,出于对系统安全性考虑以及保证每个仓库的私密性,通常采用公钥认证的方式,并且关闭密码验证。
Centos6.5中,默认ssh的密码验证是打开的,而RSA认证是关闭的,所以需要先做反向操作,进入/etc/ssh,打开配置文件sshd_config:
(1) 找到PasswordAuthentication
节点并设置为no;
(2) 开启RSA认证,将前面的#去掉,并确保如下配置:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
(3) 重启SSH服务使配置生效
service sshd restart
5、管理公钥
上面的AuthorizedKeysFile .ssh/authorized_keys其实就是SSH连接时验证公钥的相对路径,由于我们使用的是git用户,那么当我们访问git服务器的时候,ssh连接会在git用户目录中查找是否有该路径,所以我们进入到home/git,创建一个.ssh的空目录,并在里面再创建一个authorized_keys的文档,这样ssh根据 AuthorizedKeysFile的值就能找到公钥,只有能够解密的私钥才是安全可信任的客户端,所以我们需要事先将可信任的客户端公钥复制到authorized_keys中,复制多个公钥需要强制换行来识别。
6、克隆仓库
基本上配置完这些,就可以实现远程克隆了,客户端执行命令:
git clone git@xxx.xxx.xxx.xxx:/data/git/zk.git