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客户端推送时会无创建临时文件的权限,如下图所示


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 git@192.168.1.1:/home/git/repository/test.git        //ssh端口默认为22

git clone ssh://git@192.168.1.1:1800/home/git/repository/test.git //ssh端口为1800时


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值