手把手教你创建的私人git仓库(Linux CentOS7 )

2023-11-09

手把手教你创建的私人git仓库(Linux CentOS7 )

安装git

yes | yum install git-core 

配置用户名和邮箱

此处以
lrq
lrq|@email.com

为例

git config --global user.name "lrq"
git config --global user.email "lrq@email.com"

安装ssh服务

git数据交互是基于ssh的,先看一下有没有装sshd服务

ps -ef|grep "sshd"  

出现以下几个说明已经装好了
在这里插入图片描述
否则(或者你想更新的话),使用下面的命令安装openssh。

yes | yum install openssh-clients openssh-server
systemctl start sshd
systemctl enable sshd

服务器端打开RSA认证

编辑/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

把下面三个注释打开(它们并没有放在一起, 一个个找), 如果没有则在最后添加

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存,并重启服务,

systemctl restart sshd

由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys。因为我们创建了git用户管理代码,把.ssh的权限设置为git。用户组也是git。

创建git用户和密码专门对代码进行管理

useradd -m git
passwd [你的密码]
passwd -l git

建立一个仓库目录并修改权限

建立一个共享的仓库,只能接受push/pull ,不能本地commit
进入你想要的仓库地址
此处示例为: /data/gitRepos/demo

cd /
mkdir data
mkdir data/gitRepos

cd data
chown -R git:git gitRepos/
chmod 700 -R gitRepos/

切换到git用户并创建仓库

su git
mkdir data/gitRepos/demo
cd gitRepos/demo
git --bare init

服务器克隆项目(把服务器也当做一个客户端)

git clone git@127.0.0.1:/data/gitRepos/demo

由于并没有把服务器自己的ssh公钥追加到/home/git/.ssh/authorized_keys 所以还是需要输入密码的

在这里插入图片描述

客户端

客户端创建公钥和私钥

$ ssh-keygen -t rsa -C "你的邮箱地址"

在这里插入图片描述

服务器

把刚刚生成的客户端公钥上传到服务器并追加到authorized_keys末尾

客户端此处上传文件到服务器以/upload为例

su git
cd ~
mkdir .ssh
chmod 700 .ssh
cat /upload/id_rsa.pub >> /home/git/.ssh/authorized_keys
chmod 600  /home/git/.ssh/authorized_keys

客户端

客户端克隆项目

克隆仓库

git clone git@192.168.216.3:/data/gitRepos/demo

在这里插入图片描述

试一下提交文件

在这里插入图片描述

服务器

这是附加题 (如果不知道这是什么 建议跳过)

禁止git用户通过密码登录到服务器

su root
passwd  -l  git

尝试拉取发现密码无论怎么输入都是错误的
在这里插入图片描述
把root用户的公钥加入到git用户的authorized_keys

cd ~
ssh-keygen -t rsa -C "lrq@email.com"
cat .ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys

尝试拉取, 成功
在这里插入图片描述

这样就必须用秘钥登录了
安全性更高

至此git私人仓库已经搭建完成 学会了给我点个赞, 收个藏

彩蛋

如果我当前的git仓库是搭建在测试服务器上的, 现在想要在任意客户端推送test分支到远程仓库 则自动在服务器上自动拉取到最新代码怎么实现呢?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你创建的私人git仓库(Linux CentOS7 ) 的相关文章

  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • 如何损坏 Git 存储库?

    创建损坏的 git 存储库有哪些方法 有没有有趣的方法可以永久损坏 git 存储库 你能否削弱一个 git 存储库 使其行为有些正常 但会做一些奇怪的事情 我的兴趣来自于当有人担心他们是否真的创建了不可恢复的状态时 它通常很容易修复或至少可
  • 在 git 提交消息中使用任何 utf-8 字符是否安全?

    我发现使用 UTF8 字符 例如 很有用 请参阅here http www utf8icons com subsets dingbats 在提交消息中 重构 NewService 添加了更好的服务 OldServiceA 据我所见 它see
  • 有关多个远程存储库的 Git 状态

    我有一个脚本 如果我忘记在 40 多个存储库中提交或推送一些代码 它会通过电子邮件向我发送提醒 在我的两个项目中 我遵循了这些帖子中的答案 其中我设置了 git push 来推送到多个存储库 从多个远程位置拉 推 https stackov
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 当出现错误时如何删除远程分支?

    我尝试过以下命令 但失败了 git push origin next remote error denying ref deletion for refs heads next To blah git remote rejected nex
  • 如何通过哈希显示提交的日期和时间

    I used git reflog识别我创建特定分支时的哈希值 我得到了哈希值fe1ddcdef 我还没有将此分支推送到远程 我现在正在尝试查找日期和时间fe1ddcdef发生 git reflog只告诉我 fe1ddcdef HEAD 1
  • 如何查看 github 的 SSH 密钥?

    我最近收到一封来自 Github 的电子邮件 要求我检查我的 SSH 密钥 请检查您的钥匙并确保您 认出他们 如果您有任何疑问 请拒绝钥匙并 上传新密钥 如何在 ubuntu 11 10 上使用 git 检查我的密钥 您可以按照 GitHu
  • 如何为 VS Code SSH Remote 配置不同的 shell?

    当我连接到 VS Code 集成终端时 如何更改使用的 shell远程 ssh 工作区 https code visualstudio com docs remote ssh 添加 Matt Bierner 的答案 较新的版本vscode现
  • git checkout 到分支需要很长时间

    我使用的是 Ubuntu 17 10 并且使用 git 版本 2 14 1 每当我从 master 创建一个分支并尝试签出它 或从它签出到 master 时 都会花费大量时间 大约几分钟 有时接近 10 分钟 确实 我有几 GB 的数据 但
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • TeamCity 将功能分支推送到主分支

    有没有办法将成功构建的功能分支推送到另一个分支 我想要这样的东西 Git 存储库 Gitorious GitHub 等 分支机构 master 当前项目的代码 质量保证 代码等待 QA 的分支 功能分支 许多远程分支 开发人员可以在其中开发
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • gitlab 请求将分支 A 合并到开发中(落后 3 次提交)我应该担心吗?

    在 gitlab 中创建合并请求时 我经常收到一条消息 请求将分支 A 合并到开发中 x 提交落后 gitlab想告诉我什么 我应该担心还是需要修复某些东西 什么 一段时间后合并请求在项目中打开时 由于其他人合并了自己的更改 您尝试合并到的
  • 自动生成/删除詹金斯工作

    我正在寻找一种自动创建一组詹金斯作业的方法 通常在创建新的 git 分支之后 我已经为maven尝试过这个插件 http evgeny goldin com wiki Maven jenkins plugin http evgeny gol
  • 致命:不是 git 存储库(或任何父目录):.git [重复]

    这个问题在这里已经有答案了 当我尝试推送 github com 上的现有存储库时 当我输入命令时 网站提示我将其输入终端 我收到了以下致命错误消息 Not a git repository or any of the parent dire
  • 致命:无法将 HEAD 解析为有效引用

    我正进入 状态fatal Failed to resolve HEAD as a valid ref 每当我尝试承诺时 我努力了 echo ref refs heads master gt git HEAD 但它不起作用 也尝试过 git

随机推荐

  • APP保活

    APP保活 前言 app保活 在Android中是一种流氓行为 一方面无端浪费用户手机电量 另一方面给用户一种很困惑的感觉 影响用户体验还有可能导致整个Android系统流畅性变差 所以Google官方一种不推荐该功能 也一直在阻止这方面功
  • 最细致的LayUI【前端框架】从入门到实战-快速搭建后台管理系统

    最细致的LayUI 前端框架 从入门到实战 快速搭建后台管理系统 LayUI学习思维导图 和 Bootstrap 有些相似 但该框架有个极大的好处就是定义了很多前后端交互的样式接口 如分页表格 只需在前端配置好接口 后端则按照定义好的接口规
  • 【干货】Android系统定制基础篇:第三部分(Android静默安装、Android支持usb打印机)

    1 Android静默安装 一些产品要求APP在升级时能够实现静默安装 而无需弹出安装界面让用户确认 这里提出两种实现方案 方案一 APP调用 pm 命令实现静默安装 此方案无须修改Android源码 但需要root权限 方案二 修改And
  • ESP32之 ESP-IDF + Clion 开发环境搭建(一)—— Windows版

    本文章 来自原创专栏 ESP32教学专栏 基于ESP IDF 讲解如何使用 ESP IDF 构建 ESP32 程序 发布文章并会持续为已发布文章添加新内容 每篇文章都经过了精打细磨 通过下方对话框进入专栏目录页 CSDN 请求进入目录 O
  • 基于matlab的图解粒度参数计算,基于MATLAB的图解粒度参数计算

    陶瓷材料 第26卷 第3期 2006年8月 热 带 地 理 TROPICALGEOGRAPHY Vol126 No13 Aug 2006 基于MATLAB的图解粒度参数计算 王 为 吴 正 华南师范大学地理系 广州510631 摘 要 粒度
  • Android res文件夹下资源定义及使用

    1 颜色 RGB ARGB RRGGBB AARRGGBB 颜色资源应该位于
  • Android JNI实现锅炉压力显示系统详解

    前些天发现了一个蛮有意思的人工智能学习网站 8个字形容一下 通俗易懂 风趣幽默 感觉非常有意思 忍不住分享一下给大家 点击跳转到教程 第一步创建GuoLu c文件 Created by DELL on 2023 8 13 include
  • TCP协议通讯流程——三次握手四次挥手

    TCP协议通讯流程 如图 1 服务器的初始化 服务器端 调用socket 创建文件描述符 调用bind 将当前文件描述符与IP地址跟端口号绑定在一起 如果该端口号已经被其它进程占用了 就会bind失败 调用listen 声明当前文件描述符为
  • 【vue】Echarts3D地图下钻

    需求分析 地图下钻是一个非常常见的功能需求 本篇文章会细致讲解如何在Vue3中使用Eharts gl渲染出3D地图 并且实现地图下钻和返回上级地图的完整功能 github项目demo地址 点击这里 注意此项目为vue3版本 vue2版本在仓
  • Linux如何启动网卡?

    在新安装的Linux系统 我们配置的网卡可能是没有激活的 此时ping不通外网 下载包的时候也会报错 下面我们看看如何启动网卡 1 首先获取root权限 输入su 再输入密码 密码是不显示的 注意小键盘有没有锁住 获取root权限后 输入提
  • Python Turtle 画图

    https www jb51 net article 130181 htm Turtle库是Python语言中一个很流行的绘制图像的函数库 想象一个小乌龟 在一个横轴为x 纵轴为y的坐标系原点 0 0 位置开始 它根据一组函数指令的控制 在
  • PNG编解码算法详解

    1 PNG介绍 PNG是便携式网络图型 Portable Network Graphics 的缩写 由于PNG带有透明通道 无损压缩 可提升设计元素的呈现效果 因此设计上对PNG情有独钟 广泛的运用在设计 游戏 网页 app开发里 实际使用
  • MFC 最详细入门教程

    From https blog csdn net wang18323834864 article details 78621633 Visual Studio 2019 https visualstudio microsoft com zh
  • AttributeError: module 'urllib' has no attribute 'urlopen'

    使用py3的urllib urlopen方法时报错 PS C Users jiangcheng Documents Python Scripts gt python Python 3 6 5 Anaconda Inc default Mar
  • IDEA常用插件之代码扫描SonarLint

    文章目录 SonarLint 查找隐藏的bug 下载安装插件 扫描代码 查看结果 SonarLint 查找隐藏的bug 下载安装插件 扫描代码 项目右键 gt Analyze gt Analyze with SonarLint 查看结果 扫
  • Colmap学习三:后端Initialization部分(基础矩阵F、本质矩阵E和单应矩阵H)

    算矩阵的基础知识 解析本质 基础 单应矩阵的自由度 1 寻找初始像对 1 1手动选择ID 1 2自动筛选 prior focal length存在情况下 开始筛选 匹配点数由小到大排序 第二张候选影像的匹配数目大于init min num
  • 什么是JSP

    JSP 与 PHP ASP ASP NET 类似 是一种运行在web端的语言 JSP 全称Java Server Pages 是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求 而动态
  • 数据库 索引

    多数数据库 使用 B 树 Balance Tree 的结构来保存索引 B 树 最上层节点 根节点 最下层节点 叶子节点 两者之间的节点 中间节点 B 树 显著特征 从根节点 到各个叶子节点的距离都是相等的 如此 检索任何值时 都经过相同数目
  • 详解map、set、multimap、multiset的使用

    作者 阿润菜菜 专栏 C 目录 前言 set multiset的使用 1 set 2 multiset 3 什么时候应该使用multiset而不是set map multimap的使用 1 map 2 multimap 3 什么时候应该使用
  • 手把手教你创建的私人git仓库(Linux CentOS7 )

    手把手教你创建的私人git仓库 Linux CentOS7 安装git yes yum install git core 配置用户名和邮箱 此处以 lrq lrq email com 为例 git config global user na