云服务器搭建自己的GitServer!
云服务器搭建自己的GitServer!
如果你有一台云服务器并想在上面搭建自己的 Git 服务器,你可以使用 Git 自带的 git-shell ,也可以使用像 Gitea、GitLab、Gogs 这样的第三方工具。下面的步骤是一个基础的 git-shell 搭建教程:
1.
首先,确保你的服务器已经安装了 Git。 如果还没有安装,可以使用包管理器进行安装。以 Ubuntu 为例:
sudo apt-get update
sudo apt-get install git
2.
创建一个 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!的更多相关文章
- 基于腾讯Centos7云服务器搭建SVN版本控制库
基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...
- 阿里云服务器搭建SVN
简单步骤介绍 1:安装svn apt-get install subversion 2. 开启svn服务器 svnserve -d 检查是否开启:ps aux | grep svnserve 若出现如 ...
- 如何使用windows云服务器搭建IIs、windows服务
如何使用windows云服务器搭建IIs.windows服务,以下针对腾讯云服务器进行说明 1.购买云服务器之后,第1步需要设置的是,找到重装系统.重置密码等处. 2.设置安全组,设置完安全组之后才能 ...
- Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)
该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...
- 使用三台云服务器搭建真正的Redis集群
三台云服务器搭建redis集群# 今天花了一天的时间弄集群redis:遇到了很多坑,从头开始吧 环境讲解: 两台配置:1核2G,另一台:1核1G: 操作系统:Centos 7.6 Redis:3.2. ...
- 阿里云服务器搭建Docker版AWVS
本文严重参考该文章:https://www.sqlsec.com/2020/04/awvs.html 阿里云服务器搭建Docker版AWVS,因为之前有使用Docker的经验,所以本文只是简述一下安装 ...
- centos7+腾讯云服务器搭建wordpress
title: centos7+腾讯云服务器搭建wordpress date: 2020-03-04 categories: web tags: [wordpress] 分两部分:1.搭建LEMP环境 ...
- 阿里云服务器搭建vulhub靶场
阿里云服务器搭建vulhub靶场 环境 服务器:阿里云服务器 系统:centos7 应用:vulhub 步骤 vulhub需要依赖docker搭建,首先安装docker. 使用以下方法之一: # cu ...
- 用云服务器搭建frp服务(超详细)
初学.没有云服务器的时候总想着怎样才能让别人访问到自己的项目. 在查阅了百度,逛过了一些论坛之后,了解到了 内网穿透 这个词. 经过一番钻研,通过 手机 + KSWEB + 电脑 成功将内网服务映射出 ...
- 云服务器搭建redis主从复制以及哨兵模式(附踩坑记录)
云服务器搭建redis主从复制以及哨兵模式(附踩坑记录) 踩坑记录见最后 搭建一主两从: 在根目录下任意新建一个目录/myredis来存放配置文件: 将我们常用的redis.conf文件拷贝到该目录下 ...
随机推荐
- ElasticSearch之cat fielddata API
命令样例如下: curl -X GET "https://localhost:9200/_cat/fielddata?v=true&pretty" --cacert $ES ...
- 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)
聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二) 前言 前文排版比较糟糕,这次我们使用vscode来写本文,,各位看客请见谅 ...
- 国内AI大模型 VS chatgpt (20)-- H265/H264有何不同,h265有什么优势?
H265/H264有何不同,h265有什么优势? 文心一言: H.264和H.265是两种不同的视频编码标准,它们在压缩质量和带宽需求方面有所不同. H.264是一种高效的视频压缩标准,它的编码单位是 ...
- Microsoft Docs & Learn Champion 冠军赛
2021年个人作为微软MVP,参与了Microsoft Docs & Learn Champion 冠军赛,经过一年的努力,全面宣传了微软的技术. 以下是Microsoft Docs & ...
- 详解GaussDB(DWS)用户监控原理及应用
摘要:本文将聚焦于用户监控的原理及应用进行介绍. 本文分享自华为云社区<GaussDB(DWS)监控工具指南(二)用户级监控>,作者:幕后小黑爪 . 前言 资源监控是整个运维乃至整个产品生 ...
- 云小课|手把手教您在PyCharm中连接云端资源进行代码调试
摘要:让我们看看如何在PyCharm中连接云端资源进行代码调试吧! 本文分享自华为云社区<[云小课]EI第54课 手把手教您在PyCharm中连接云端资源进行代码调试>,作者:Hello ...
- 云小课 | 华为云KYON之L2CG
摘要:本文介绍KYON独创的L2CG,打通大二层网络,支持企业携带私网IP直接上云,让业务敏捷迁移,大幅降低企业上云的复杂度和成本.同时支持虚拟机粒度迁移,让企业上云过程中无需迁移整个子网. 本文分享 ...
- CWE 4.7中的新视图:工业控制系统的安全漏洞类别
摘要:CWE今年的第一个版本在5/1前发布了,做为软件安全的重要分类标准,我们来看下这个版本有那些变化. 本文分享自华为云社区<CWE 4.7中的新视图 -- 工业控制系统的安全漏洞类别> ...
- Linux 堡垒机命令行中如何上传下载文件(SecureCRT - SFTP)
通过堡垒机进入的 Linux 操作系统,无法直接使用 WinSCP 等工具进行文件的上传下载. 可使用 SecureCRT 先进入命令行模式 配置 配置 Linux 堡垒机的连接方式 连接 选择要进入 ...
- Docker 下自定义安装 Tomcat
服务器环境建好以后,如果要扩展,只需要执行(详细命令到下文中找)docker run .....发完版本需要重启服务,执行(详细命令到下文中找)docker restart [容器的ID] 将文件传到 ...