【Git】Ubuntu16.04 搭建属于自己的 git服务器 史上最详细 一篇就够了

基本配置:

服务器环境:Ubuntu16.04
客户端环境:Ubuntu16.04

1:下载安装git

sudo apt install git

2:创建服务器用户

在这里我是专门创建了一个新的用户来作为git仓库

特别说明:在这里我新建的用户名为 git ,名字是可以任意取的。

sudo adduser git

3:创建ssh证书管理

sudo mkdir /home/git/.ssh
sudo touch /home/git/.ssh/authorized_keys

特别说明:一定要修改权限。修改权限后,客户端 clone、pull 就不需要ssh密码了
加上 -R 表示 .ssh目录 以及里面的所有文件都会被修改权限

sudo chmod 644 /home/git/.ssh/authorized_keys

4:导入公钥到服务器

①:在客户端生成公钥

特别说明:只有此步是在客户端完成,其余都是在服务器完成!!!!

ssh-keygen -t rsa -C "you@email"

千万不要输入密码!!!

千万不要输入密码!!!

千万不要输入密码!!!

一直按回车就行了
在这里插入图片描述
生成的公钥在 .ssh目录

cd .ssh

id_rsa.pub 是公钥
在这里插入图片描述

②:导入客户端公钥到服务器

特别说明:一行一个公钥

首先复制客户端上公钥的内容,也就是客户端上的 id_rsa.pub

然后 拷贝到 服务器的 .ssh/authorized_keys

sudo vim /home/git/.ssh/authorized_keys

5:禁止shell登录

特别说明:出于安全考虑,第二步创建的git用户不允许登录shell
进入

sudo vim /etc/passwd

把:

git:x:1001:1001:,,,:/home/git:/bin/bash

修改为:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

6:新建并且初始化仓库

特别说明:share.git 就是你的仓库名
share.git 的路径是 /home/git/share.git 。 在这里我们把仓库创建在我们之前创建的用户 git 下

sudo git init --bare /home/git/share.git

执行命令后,Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。

7:修改 share.git 仓库的所有者:

特别说明:我们在这里把share.git仓库的所有者修改为作为服务器的 git用户
重要!!! 一定要进入git用户目录!!!

cd /home/git

修改仓库所有者:

sudo chown -R git:git share.git

到此git服务器就搭建成功了

8:克隆服务器上仓库的代码

克隆代码命令拆分说明:

git clone 服务器上的用户名@服务器ip地址:仓库所在的路径

git 是我的服务器上的用户名
ip 是我服务器的ip地址
/home/git/share.git 是我的仓库的路径

 git clone git@ip:/home/git/share.git
发布了40 篇原创文章 · 获赞 42 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44205779/article/details/105515375
今日推荐