Hexo云服务器搭建Git服务
Git服务器概述
在实际的开发中,都是一个团队协同开发,共享代码资源。那么就需要服务器来存放团队的代码,需要用的时候从服务器下载。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub、码云网站作为Git服务器。
搭建Git服务器
Centos7操作系统的云服务器搭建Git环境。
服务器端安装git
(一)检查Centos有没有自带或者安装git,查询版本1
git –-version
(二)如果存在,则查询git详情
1
rpm -qa git
(三)删除存在的git
1
yum -y remove git
(四)如果没有查询到使用yum安装
1
yum -y install git
若是其他Linux系统如Ubuntu等,请自行查询相应的安装命令。
服务器端创建git用户
(一)创建用户组git1
groupadd git
(二)新增git用户(所属git组)
1
useradd -m -g git git
(三)设置git密码
1
passwd git
(四)修改home目录下git文件的权限
1
chmod 755 /home/git
(五)切换至git用户
1
su git
(六)进入git用户所在的home目录
1
cd
(七)创建.ssh文件,并赋予权限
1
mkdir .ssh && chmod 700 .ssh
(八)在.ssh文件中创建公钥存储文件authorized_keys,同时赋予权限
1
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
.ssh
目录的权限必须是700
,而authorized_keys
的权限必须是600
,请确保权限是否正确。服务器端创建git仓库
(一)初始化空的git版本库1
[git@localhost ~]$ git init --bare /home/git/repository/gittest.git
若创建成功,则会出现下述信息:
Initialized empty Git repository in /home/git/repository/gittest.git
修改文件归属者
1 | chown git:git /home/git/repository/ |
服务器端打开RSA认证
(一)切换root用户1
su
(二)进入 /etc/ssh 目录,编辑 sshd_config,把下面内容的前面的#号去掉:
1
2
3
4
5RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys【注意】
由AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys
(三)进入 /etc/ssh 目录,编辑 sshd_config,注释掉密码认证:1
#PasswordAuthentication yes
(四)重启 sshd 服务
1
systemctl restart sshd.service
客户端创建SSH公钥和私钥
(一)生成ssh密钥。1
ssh-keygen -t rsa -C "邮箱地址"
服务器端authorized_keys添加客户端公钥
1
[root@localhost git]# cat id_rsa1.pub >> .ssh/authorized_keys
【注意】多个公钥都采用这种形式添加
禁止git用户SSH登录服务
(一)编辑 /etc/passwd1
[root@server01 git]# vi /etc/passwd
(二)找到:git:x:1000:1000::/home/git:/bin/bash
(三)修改:git:x:1000:1000::/home/git:/bin/git-shell客户端拉取服务端项目
(一)进入Git仓库,获取项目绝对路径1
[root@server01 gittest.git]# pwd
(二)Git客户端克隆项目
1
git clone git@IP:/home/git/repository/gittest.git