GIT服务器搭建

服务器环境为centos

1.服务器端安装Git

执行指令 yum install -y git

2.服务器端创建Git用户,用于管理git服务,也可以不创建git用户,只需将下文git用户替换为对应用户

      创建用户: useradd git

      设置密码:passwd git

3.创建git仓库,假设仓库位置为/home/git/repository/test.git

mkdir /home/git/repository

git init --bare test.git            //创建空仓库

注意:要将所有目录,包括父目录,owner全部改为git,否则git客户端推送时会无创建临时文件的权限,如下图所示

GIT服务器搭建_第1张图片

4.进制git用户ssh登陆服务器

在/etc/passwd文件 找到

git:x:500:500::/home/git:/bin/bash
修改为
git:x:500:500::/home/git:usr/bin/git-shell  //git-shell 根据对应系统所在位置
修改后可以通过ssh使用git,但无法通过ssh登陆系统

5.服务器端Git打开RSA认证

/etc/ssh/sshd_config 文件

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
修改之后重启
/etc/rc.d/init.d/sshd restart

由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys

在 /home/git/ 下创建目录 .ssh,然后把 .ssh 文件夹的 owner 修改为 git

6.客户端创建ssh公钥和私钥

ssh-keygen -t rsa -C "zidingyizifuchuan"

此时 C:\Users\用户名\.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub

id_rsa 是私钥

id_rsa.pub 是公钥

7.将客户端公钥导入服务器端/home/git/.ssh/authorized_keys文件

ssh git@192.168.1.1 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub   //ssh端口默认为22

ssh -p 1800 git@192.168.1.1 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub //ssh端口为1800时

查看git用户目录下.ssh下是否存在authorized_keys文件.

修改.ssh目录权限为700 chmod 700 .ssh

修改.ssh/authorized_keys文件权限为600

8.客户端克隆远程仓库

git clone [email protected]:/home/git/repository/test.git        //ssh端口默认为22

git clone ssh://[email protected]:1800/home/git/repository/test.git //ssh端口为1800时


你可能感兴趣的:(GIT)