Centos6.5下简单部署Git服务器
Centos6.5下简单部署Git服务器。
安装Git
1、git官方网站git-scm.com中,没有给出Centos版本的安装案例,但没关系,我们手动编译安装也一样。准备好源码包,我选的1.9.0版本。
2、将压缩包git-1.9.0.tar.gz放入任意目录,假如在usr/local目录下。
3、运行解压缩命令:tar -zxvf git-1.9.0.tar.gz
4、进入git源码目录:cd git-1.9.0
5、执行三步常规安装命令:检测环境配置并且设置安装路径,编译,安装:./configure --prefix=/opt/gitmakemake install
6、验证安装成功:git --version如果输出:git version 1.9.0,说明安装成功。
添加一个针对git管理的系统用户
1、执行命令:sudo adduer git这时会在home里面生成名为git的用户目录。注:如果要完全删除git用户,可以执行:userdel -r git
配置git远程仓库
1、在任意目录比如srv中新建一个repository空目录,用于存放所有的git仓库。
2、切换到repository目录下:cd /srv/repository
3、初始化一个空git仓库:git init --bare demo.git,此时会生成1个demo.git目录。
4、为demo.git目录的所有者指定git用户:chown git:git -R demo.git
设置SSH安全认证
1、客户端与服务器的数据通信需要安全通道,有两种方式:验证git用户密码和懋鲕壶迎基于RSA的公钥加密算法认证,出于对系统安全性考踟梯扳盆虑以及保证每个仓库的私密性,通常采用公钥认证的方式,并且关闭密码验证。Centos6.5中,默认ssh的密码验证是打开的,而RSA认证是关闭的,所以需要先做反向操作,进入/etc/ssh,打开配置文件sshd_config。
2、找到PasswordAuthentication节点并设置为no;
3、开启RSA认证,将前面的#去掉,并确保如下配置:RSAAuthentication yesPubkeyAuthentication yes帆歌达缒AuthorizedKeysFile .ssh/authorized_keys
4、重启SSH服务使配置生效:service sshd restart
管理公钥
1、上面的AuthorizedKeysFile .ssh/authorized_keys其实就是SSH连接时验证柬缰缣挞公钥的相对路径,由于我们使用的是git用户,那么当我们访问git服务器的时候,ssh连接会在git用户目录中查找是否有该路径,所以我们进入到home/git,创建一个.ssh的空目录,并在里面再创建一个authorized_keys的文档,这样ssh根据AuthorizedKeysFile的值就能找到公钥,只有能够解密的私钥才是安全可信任的客户端,所以我们需要事先将可信任的客户端公钥复制到authorized_keys中,复制多个公钥需要强制换行来识别。
克隆仓库
1、基本上配置完这些,就可以实现远程克隆了,客户端执行命令:git clone git@xxx.xxx.xxx.xxx:/srv/repository/demo.git