CentOS7 搭建Git服务器(转)
1.在服务器上创建一个新用户
adduser git
2.创建一个Git仓库
cd /data/git //切换到希望创建工作区的目录
git init --bare sample.git //创建一个Git仓库,此时Git会创建一个唯一分支master
chown -R git:git sample.git//将sample.git的所有权从root修改到新创建的git
3.在服务器端打开RSA认证
在文件/etc/ssh/sshd_config中添加下列三行内容:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
创建用于存放客户端公钥的文件
cd /home/git //切换到刚刚创建的git用户目录下
mkdir .ssh
vim authorized_keys //创建用于存放客户端公钥的文件
4.在客户端创建SSH key
ssh-keygen -t rsa -C "sample@geekzhou.com"
该命令会在用户主目录的.ssh文件夹下生成两个文件:用于保存私钥的id_rsa和用于保存公钥的id_rsa.pub
5.把步骤4生成的公钥导入服务器
将生成的id_rsa.pub中的内容拷贝到服务器文件/home/git/.ssh/authorized_keys
6.在客户端clone远程git仓库
git clone git@115.28.222.133:/data/git/sample.git
其中115.28.222.133是服务器端的IP地址
(由于进行了步骤4和步骤5的设置,所以在clone仓储的时候就无需再输入密码了)
7.禁止用户git通过shell进行登录
由于进行了步骤4和步骤5的设置,此时客户端可以通过ssh git@115.28.222.133 直接登录到服务器,如需禁止,修改文件/etc/passwd:
将git:x:1000:1000::/home/git:/bin/bash
修改为:git:x:1000:1000::/home/git:/usr/bin/git-shell
初始化master分支
在进行了一个commit操作后,master分支就会出现,此时执行git push就可以将本地的修改推送到远程的master分支了.
至此远程git服务器搭建完毕!
</div>