云服务器搭建自己的GitServer!

如果你有一台云服务器并想在上面搭建自己的 Git 服务器,你可以使用 Git 自带的 git-shell ,也可以使用像 Gitea、GitLab、Gogs 这样的第三方工具。下面的步骤是一个基础的 git-shell 搭建教程:

1.

首先,确保你的服务器已经安装了 Git。 如果还没有安装,可以使用包管理器进行安装。以 Ubuntu 为例:

sudo apt-get update
sudo apt-get install git

2.

  1. 创建一个 git 用户,用来运行 git 服务。

    sudo adduser git

    下面是要求详细用户的信息,可以直接回车不输入即可,最后确认。

3.

在 git 用户家目录下创建 .ssh 目录,并修改其权限。 使用以下命令:

su git
cd
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

(公私钥可以先不做,直接跳转第四条)

公钥是保存在 Git 服务器上的,用于识别和验证尝试连接服务器的客户机。私钥则保存在你的个人机器(即客户机)上,用于证明你的身份,并且不能被分发或分享。

当你尝试通过 SSH 连接到 Git 服务器时,服务器会查看连接请求中的公钥是否在它的授权列表中。如果在,服务器会创建一个随机数,用你的公钥进行加密,然后发送给你。你的机器会用你的私钥解密这个随机数,然后再进行一些处理后返回给服务器。服务器根据你返回的数据验证你是否有正确的私钥。如果验证成功,说明你是一个有效的用户,服务器就会允许你进行后续的操作,比如 git 操作。

你可以为每个需要连接到 Git 服务器的用户生成一对 SSH Key,然后将公钥添加到服务器的授权列表中,从而允许他们访问 Git 服务器。这种方式既安全,又方便管理用户权限。同时,因为私钥不需要在网络中传输,所以也减少了被窃取的风险。

在本机使用ssh-keygen 即可生成公私钥,公钥带有pub后缀,默认位置为:user/.ssh/id_rsa

将公钥复制到服务器上的.ssh/authorized_keys文件中即可。如果本机有多个私钥保存,还需要设置本机的config文件,和本机私钥是在同一个文件夹中:

4.创建一个git仓库

mkdir project.git
cd project.git
git init --bare

如此git库初始化完成:

5. 最后你就可以在本地使用gitServer,像平时使用github一样的命令来操作啦

git clone git@ip_server:project.git

但是另外还需注意的一点是,在克隆到了本地之后,是没有任何分支的,master也没有。所以要想有master分支,应该先初始化一个文件,依次add,commit,这样本地就会有master分支了,一般是初始化一个README文件以作为项目的说明。这时候远程也没有任何分支,继续push刚刚的commit就可以发现远程也有master分支了;

最后还有一点,可能发现git没有权限去在服务器上创建文件。这是因为git是最低级的用户,没有创建文件的权限。可以使用sudo用户给git用户/组赋git文件夹的777权限,具体可以自行搜索。

云服务器搭建自己的GitServer!的更多相关文章

  1. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  2. 阿里云服务器搭建SVN

    简单步骤介绍 1:安装svn apt-get install subversion 2. 开启svn服务器 svnserve -d 检查是否开启:ps aux | grep svnserve 若出现如 ...

  3. 如何使用windows云服务器搭建IIs、windows服务

    如何使用windows云服务器搭建IIs.windows服务,以下针对腾讯云服务器进行说明 1.购买云服务器之后,第1步需要设置的是,找到重装系统.重置密码等处. 2.设置安全组,设置完安全组之后才能 ...

  4. Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)

    该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...

  5. 使用三台云服务器搭建真正的Redis集群

    三台云服务器搭建redis集群# 今天花了一天的时间弄集群redis:遇到了很多坑,从头开始吧 环境讲解: 两台配置:1核2G,另一台:1核1G: 操作系统:Centos 7.6 Redis:3.2. ...

  6. 阿里云服务器搭建Docker版AWVS

    本文严重参考该文章:https://www.sqlsec.com/2020/04/awvs.html 阿里云服务器搭建Docker版AWVS,因为之前有使用Docker的经验,所以本文只是简述一下安装 ...

  7. centos7+腾讯云服务器搭建wordpress

    title: centos7+腾讯云服务器搭建wordpress date: 2020-03-04 categories: web tags: [wordpress] 分两部分:1.搭建LEMP环境 ...

  8. 阿里云服务器搭建vulhub靶场

    阿里云服务器搭建vulhub靶场 环境 服务器:阿里云服务器 系统:centos7 应用:vulhub 步骤 vulhub需要依赖docker搭建,首先安装docker. 使用以下方法之一: # cu ...

  9. 用云服务器搭建frp服务(超详细)

    初学.没有云服务器的时候总想着怎样才能让别人访问到自己的项目. 在查阅了百度,逛过了一些论坛之后,了解到了 内网穿透 这个词. 经过一番钻研,通过 手机 + KSWEB + 电脑 成功将内网服务映射出 ...

  10. 云服务器搭建redis主从复制以及哨兵模式(附踩坑记录)

    云服务器搭建redis主从复制以及哨兵模式(附踩坑记录) 踩坑记录见最后 搭建一主两从: 在根目录下任意新建一个目录/myredis来存放配置文件: 将我们常用的redis.conf文件拷贝到该目录下 ...

随机推荐

  1. MYSQL数据库root账户密码忘记,如何重置?

  2. idea2020下载、安装、破解、配置

    idea2020下载.安装.破解.配置 idea2020下载 [推荐]官方下载地址:https://www.jetbrains.com/idea/download/other.html 进入后往下找, ...

  3. 使用cgroup控制CPU使用率

    关键文件 cpu子系统中的关键文件. cpu.cfs_period_us cpu.cfs_quota_us tasks cgroup.procs 常用命令 查看当前系统内的CPU. lscpu 查看当 ...

  4. 【Azure APIM】APIM 策略语句如何来设置多个Cookie值让浏览器保存

    问题描述 在APIM的 <return-response> 策略中,设置Cookie值,因为需要设置多个Cookie值,使用下面两种方式都只能保存一个Cookie值: 方式一:把多个coo ...

  5. electron入门之配置镜像加速(四)

    electron入门到入土,配置阿里镜像加速.为了防止后面我们打包龟速,需要给electron配置阿里镜像加速 在下面的文件内添加阿里镜像加速,你的文件位置不一定是这个 C:\Program File ...

  6. 使用 C# 在Word中插入图表

    Word中的图表功能将数据可视化地呈现在文档中.这为展示数据和进行数据分析提供了一种方便且易于使用的工具,使作者能够以直观的方式传达信息.要通过C#代码来实现在Word中绘制图表,可以借助 Spire ...

  7. 华为云CCE集群健康中心:一个有专家运维经验的云原生可观测平台

    本文分享自华为云社区<新一代云原生可观测平台之华为云CCE集群健康中心>,作者:云容器大未来. "Kubernetes运维确实复杂,这不仅需要深入理解各种概念.原理和最佳实践,还 ...

  8. 使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能

    本文分享自华为云社区<使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能>,作者:云容器大未来. AI 技术现状及发展趋势 过去十余年,依托全球数据.算法 ...

  9. 基于ModelArts进行流感患者密接排查

    摘要:针对疫情期间存在的排查实时性差.排查效率低.无法追踪密接者等问题,可以使用基于YOLOv4的行人检测.行人距离估计.多目标跟踪的方案进行解决. 本文分享自华为云社区<基于ModelArts ...

  10. WebKit三件套(1):WebKit之WebCore篇

    导语: Chrome浏览器的代码量其实是非常庞大的,要想对其有深入的理解,仅仅编译编译调试调试,是很难深入下去的.让我们还是从其主要部分如多进程管理通信.WebKit.V8.Skia.WinHttp. ...