首页 技术 正文
技术 2022年11月18日
0 收藏 664 点赞 4,481 浏览 1529 个字

学习链接:博客园廖雪峰

一 前言

前面已经贴了两个链接,为什么还要再写一篇呢,因为可能由于个人能力问题,我觉得上面两篇写的都有点简略,有些地方不太好理解,并不能一次性成功搭建,所以想根据自己踩过的坑再写一篇更详细的。所以如果有用户搜到了这篇文章且看完没有成功搭建,请评论中回复让我知道原因继续完善,谢谢!

另外,本次安装不涉及权限管理,因为只是自己测试,还未用于生产环境。

二 准备环境

本次测试使用两台虚拟机,一台Ubuntu系统作为Git服务器(以下称为服务器),一台CentOS系统作为客户端(以下称为客户端)

三 配置服务器

第一步:检查服务器是否安装了ssh服务,这个没记错的话Ubuntu是自带有的,如果没有安装即可

第二步:安装git,具体方法请看官网文档,包含了Ubuntu和CentOS系统的安装方法,安装完毕在终端中执行git –version命令,如正常输出版本号,说明安装成功。

第三步:修改hsots配置,在hosts文件中将服务器的IP指向gitserver,将客户端的IP指向gitclient,如下图:

Ubuntu 18.04搭建Git服务器

第四步:在服务器上创建git用户,

sudo useradd git

然后赋予管理员权限,即将其加到/etc/sudoers文件中,添加时参考root的配置即可

第五步:在服务器上创建代码仓库,这里我在/home/git/repo下执行命令:

git –bare init /home/git/sample.git

成功执行后在服务器上创始了sample.git文件夹,如下图:

Ubuntu 18.04搭建Git服务器

然后将该文件夹所有者设为git,执行如下命令:

sudo chown -R git:git sample.git

到此,Ubuntu服务器的配置完毕,接下来配置客户端。

四 客户端配置

第一步:同样,在客户端确认ssh是否有安装,并安装git

第二步:修改客户端的hosts文件,将服务器的IP指向gitserver

第三步:执行ssh-keygen -t rsa命令生成密钥,如下图:

Ubuntu 18.04搭建Git服务器

注意,不要输入文件名,一直回车就好,不要输入任何内容,全部使用默认配置,成功后会自动在用户的home目录下创建.ssh文件夹,并将生成的公钥和密钥放到这个文件夹下。这里是要设置无密码登录服务器,因为服务器的密码不可能让所有人知道,提交代码时使用密钥进行身份验证

第四步:将.ssh文件夹下生成的id_rsa.pub文件上传到服务器git用户home目录(/home/git)下,在服务器上使用git用户登录,查看home目录下是否有.ssh文件夹,如果没有,手动创建,如果有进入其中查看是否有名为authorized_keys文件,如果没有,同样手动创建即可。确认authorized_keys文件存在后执行cat ../id_rsa.pub>>authorized_keys命令,将客户端用户公钥导入到验证文件。

第五步:在客户端上新建存储代码的文件夹,进入该文件夹,执行git clone git@gitserver:/home/git/repo/sample.git命令,该命令的作用是使用git用户身份从服务器拉取代码,若可正常拉代码且无需输入密码,说明搭建成功。之后就可以像公共仓库一样进行代码管理了。

五 善后

所有用户的公钥导入完毕后,最好禁用git用户登录权限(git用户应该只用于代码管理,不用作其它事情,如果再要导入新的用户公钥可以用其它有管理员权限的帐户),具体做法是修改/etc/passwd文件中git的设置,如下图:

Ubuntu 18.04搭建Git服务器

将命令执行环境设成git的shell,/usr/bin/git-shell而非/bin/bash,这样git用户无法通过ssh工具如putty远程登录系统了,但是可以通过ssh在git中进行各种操作。

下一篇: Java的优点
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,297