云服务器搭建自己的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. Python subprocess 使用(二)

    Python subprocess 使用(二) 本篇继续介绍subprocess的使用. 这里主要添加两个自己在工作过程中常用的两个小命令. 1: 获取顶层activity import subpro ...

  2. ja-netfilte-ja-netfilte

    title: ja-netfilte date: 2022-10-16 16:13:50.339 updated: 2023-02-07 22:58:50.672 url: https://www.y ...

  3. 『Flutter』开发环境搭建

    1.前言 大家好,我是 BNTang,今天给大家介绍一下 Flutter 的开发环境搭建.在之前我已经将 Dart 的基本语法给大家介绍了,所以今天就不再介绍 Dart 的基本语法了,直接进入 Flu ...

  4. 字正腔圆,万国同音,coqui-ai TTS跨语种语音克隆,钢铁侠讲16国语言(Python3.10)

    按照固有的思维方式,如果想要语音克隆首先得有克隆对象具体的语言语音样本,换句话说,克隆对象必须说过某一种语言的话才行,但现在,coqui-ai TTS V2.0版本做到了,真正的跨语种无需训练的语音克 ...

  5. 笔记本为什么不出可升级CPU的,用台式CPU不行吗?

    我十几年年前的thinkpad 通过更换cpu复活了:联想ThinkPad E430c i3变i7:笔记本电脑CPU升级思路-CPU参数 为什么现在的市面上可以更换cpu的笔记本非常稀少呢? inte ...

  6. Java 设置Excel页面背景

    本文介绍通过Java 程序在Excel表格中设置页面背景的方法,可设置颜色背景(即指定单一颜色作为背景色).图片背景(即加载图片设置成页面背景).程序中需要使用免费版Excel类库工具 Free Sp ...

  7. 5步教你将MRS数据导入DWS

    摘要:GaussDB(DWS)支持在相同网络中,配置一个GaussDB(DWS)集群连接到一个MRS集群,然后将数据从HDFS中的文件读取到GaussDB(DWS). MapReduce服务(MapR ...

  8. 火山引擎A/B测试:MAB智能调优实验,企业活动效果提升新利器

      618临近,各大电商APP的预热活动已然拉开序幕.对企业而言,一场活动从策划到上线,中间经过效果验证,其业务成本很高.一个好的活动创意从策划.开发.到最终发布,至少会经历几周实践,如果中间还经历A ...

  9. 项目基于 Solon 进行构建,一般都有到哪些东西?

    例如: 每个微服务工程是采用Solon开发. 基于Solon Cloud 实现微服务的配置.服务注册.事件总线. 其中,最重要的是实现了Solon Rpc接口与RESTful接口均可以注册至任何注册服 ...

  10. 路由分发 路由别名的名称空间 虚拟环境 HTTPresponse JsonResponse request对象获取文件 CBV源码剖析 模板语法传值特性 模板语法过滤器

    目录 路由分发 路由别名冲突 反向解析失败 方式一:名称空间 include 方式二:别名不冲突即可 虚拟环境 python -m venv venv_name 视图层之必会三板斧 HTTPrespo ...