云服务器搭建自己的GitServer!

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

1.

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

  1. sudo apt-get update
  2. sudo apt-get install git

2.

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

    1. sudo adduser git

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

3.

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

  1. su git
  2. cd
  3. mkdir .ssh && chmod 700 .ssh
  4. 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仓库

  1. mkdir project.git
  2. cd project.git
  3. git init --bare

如此git库初始化完成:

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

  1. 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. CentOS 7上使用Python 3和虚拟环境

    在CentOS 7上使用Python 3和虚拟环境,请按照以下步骤操作: 首先,确保您的系统已安装Python 3.您可以使用以下命令检查Python 3是否已安装: python3 --versio ...

  2. Spring表达式语言(SPEL)学习(02)

    构造数组 /** * 数组生成 */ @Test public void test5(){ int[] numbers1 = (int[]) parser.parseExpression(" ...

  3. PyTorch项目源码学习(3)——Module类初步学习

    torch.nn.Module Module类是用户使用torch来自定义网络模型的基础,Module的设计要求包括低耦合性,高模块化等等.一般来说,计算图上所有的子图都可以是Module的子类,包括 ...

  4. Vue接入谷歌广告(Google Adsense)

    1.注册账户 首先你要拥有一个google账号,点击注册谷歌账号,点击个人账号根据提示一步一步来即可注册成功.(当然你需要魔法才可以正常访问谷歌服务) 2.补充账户信息,申请广告授权 点击进入Goog ...

  5. 详解MRS HBase全局二级索引

    本文分享自华为云社区<MRS HBase全局二级索引原理与使用场景>,作者:学习一下大数据 . 一.HBase二级索引背景介绍 HBase是基于Key-Value的分布式存储数据库,对表中 ...

  6. 全量通过,华为云GaussDB首批完成信通院全密态数据库评测

    摘要:100%全量通过!基于全栈创新计算架构的全密态数据库华为云GaussDB,完成了中国信通院组织的首批"全密态数据库"产品能力评测. 本文分享自华为云社区<全量通过!华为 ...

  7. 架构解读丨Volcano作业资源预留设计原理

    摘要:本文重点讲解了基于v1.1.0的目标作业资源预留特性的设计和最佳实践.讲解过程中,全面介绍了特性设计过程中的考量因素和算法设计. 资源预留(Reservation)是批处理系统的一类常见需求,也 ...

  8. 可以一学的代码优化小技巧:减少if-else冗余

    摘要:if-else 语句对于程序员来说,是非常非常熟悉的一个判断语句,我们在日常开发和学习中都经常看见它. 本文分享自华为云社区<JavaScript代码之美-代码优化,减少if-else冗余 ...

  9. 云图说丨初识数据工坊DWR

    摘要:数据工坊DWR是一款近数据处理服务,通过易用的工作流编排和开放生态的数据处理算子,能够在云上实现图像.视频.文档.图片等数据处理业务. 本文分享自华为云社区<[云图说]第236期 初识数据 ...

  10. LAS Spark+云原生:数据分析全新解决方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数据规模的迅速增长和数据处理需求的不断演进,云原生架构和湖仓分析成为了现代数据处理的重要趋势.在这个数字化时代 ...