云服务器搭建自己的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. Javascript Ajax总结——GET请求和POST请求

    1.GET请求GET最常用于向服务器查询信息.可在URL末尾添加查询字符串参数.XHR中,传入open()方法的URL末尾的查询字符串必须经过正确的编码,使用encodeURIComponent()编 ...

  2. ElasticSearch之cat master API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/master?v=true&pretty" --cacert $ES_HO ...

  3. Shiro-550反序列化漏洞(CVE-2016-4437)复现

    本文章使用Shiro_exploit此工具复现,靶机环境为vulhub 项目地址: https://github.com/insightglacier/Shiro_exploit https://gi ...

  4. 交换机SNMP配置

    配置参考v2c为例 1.华为 snmp-agent protocol source-interface vlanif 1 ##S573x以上型号交换机需要snmp-agentsnmp-agent sy ...

  5. 2023年资深C#开发者的思考

    2023年转眼间就这样过掉了,作为一名资深C#的开发员人员,年龄也大了1岁,从最早接触C#开始,算下来已经超过15年以上了,随着工作经验的不断增加,物价不断的飞涨以及家庭支出的不断上涨,工作1份工资已 ...

  6. thymeleaf自定义标签

    前言 使用thymeleaf自定义标签,环境:springboot 2.3.7 + thymeleaf 3.0.11(2021-01-14最新版) 由于使用shiro,我们需要与thymeleaf整合 ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (126)-- 算法导论11.1 1题

    一.用go语言,假设一动态集合 S用一个长度为 m 的直接寻址表T来表示.请给出一个查找 S 中最大元素的过程.你所给的过程在最坏情况下的运行时间是多少? 文心一言,代码正常运行: 在这个问题中,我们 ...

  8. OSG嵌入QT的简明总结2

    正文 我之前在这篇博文<OSG嵌入QT的简明总结>中论述了OSG在QT中显示的可视化问题.其中提到官方提供的osgQt项目(地址:https://github.com/opensceneg ...

  9. 云图说 | 快速创建一个kubernetes集群

    摘要:3分钟快速创建您的第一个kubernetes虚拟机集群. 随着应用程序开发向基于容器的方向发展,编排和管理资源的需求变得越来越重要.Kubernetes是一个开源的.功能强大的容器编排系统,用于 ...

  10. 跟我学ModelArts丨探索ModelArts平台个性化联邦学习API

    摘要:ModelArts提供了一个实现个性化联邦学习的API--pytorch_fedamp_emnist_classification,它主要是让拥有相似数据分布的客户进行更多合作的一个横向联邦学习 ...