环境:
cat etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

首先检查机器有没有安装yum,命令:yum list 测试下,没有安装先安装yum

安装git

#yum install -y git

安装完后,查看 Git 版本

# git --versiongit version 1.8.3.1

创建 git 用户

# cd /home                                  #进入/home/目录

# id git                                 #查看git用户是否存在

id: git: no such user                                       #提示git用户不存在

# useradd git                            #创建git用户

passwd git                             #为git用户创建密码

Changing password for user git.

New password:                                               #设置密码

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:                                        #确认密码

passwd: all authentication tokens updated successfully.

服务器端创建 Git 仓库

[root@ceontOS ~]#mkdir -p home/git/test1109.git   #在git用户目录下创建仓库目录git,并且创建test1109.git项目测试目录

注:git  test1109.git是自建目录  test1109.git为仓库名

[root@ceontOS home]# ls      #查看/home/目录下有哪些用户目录
root   git
[root@ceontOS home]# cd git   #进入git用户目录
[root@ceontOS git]# ls      #查看git用户目录下有哪些目录/文件
 test1109.git

[root@ceontOS git ]# git init --bare ./test1109.git   #这步很重要,初始化项目测试目录

Initialized empty Git repository in /home/git/test1109.git/

然后把 Git 仓库的 owner 所有者修改为 git

[root@ceontOS git]#  ll      #查看test1109.git项目文件夹的拥有者

drwxr-xr-x. 7 root root 119 Nov  9 18:31 test1109.git    #拥有者是root用户名

[root@ceontOS git]# chown -R git:git test1109.git/    #将拥有者改为git用户

[root@ceontOS git]# ll      #再次查看test1109.git项目文件夹的拥有者

drwxr-xr-x. 7 git git 119 Nov  9 18:31 test1109.git          #拥有者是git用户

设置完成

客户端 clone 远程仓库

先在本地Windows系统上创建一个存放git项目的文件夹,例如我的设置在:【D:\testGit1109】

在文件夹内使用git Bash  clone远程仓库

$ git clone  git@服务器公网IP地址:/home/git/test1109.git

#IP地址后面跟冒号,冒号后面是刚才初始化的项目文件夹的绝对路径

此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。

客户端创建 SSH 公钥和私钥

通过git bash      输入命令ssh-keygen

此时 C:\Users\用户名\.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub

id_rsa_git 是私钥

id_rsa_git.pub 是公钥

服务器端修改配置文件,打开 RSA 认证

进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:

按如下设置这三个配置,如果注释掉了,则去掉前面的#号

RSAAuthentication yes        (有的版本较高可能没有此项,忽略)
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存并重启 sshd 服务:

systemctl restart sshd.service   #重启sshd服务

由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys

在 /home/git/ 下创建目录 .ssh

然后把 .ssh 文件夹的 owner 修改为 git

将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件

回到客户端Git Bash 下,导入文件:

$ ssh git@服务器公网IP地址 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

回到服务器端,查看 .ssh 下是否存在 authorized_keys 文件:

重要:

修改 .ssh 目录的权限为 700

修改 .ssh/authorized_keys 文件的权限为 600

客户端再次 clone 远程仓库

禁止 git 用户 ssh 登录服务器

之前在服务器端创建的 git 用户不允许 ssh 登录服务器

编辑 /etc/passwd
[root@ceontOS ~]# sudo vi /etc/passwd  #编辑/etc/passwd文件

找到:

git:x:1001:1001::/home/git:/bin/bash

修改为:

git:x:1001:1001::/home/git:/bin/git-shell

此时 git 用户可以正常通过 ssh 使用 git,但无法通过 ssh 登录系统

git服务器仓库设置完成,初始化仓库开始

Windows下客户端操作

在客户端打开Git Bash,然后将目录切换到指定文件夹下面下。执行下面命令,将该文件夹设为本地仓库

git init   初始化

接着再执行如下命令,将本地仓库连接到服务器上的仓库:

git remote add origin git@公网服务器ip:/home/git/test1109.git

Linux搭建git仓库相关推荐

  1. 云服务器搭建git仓库

    前言:代码平台托管安全吗? 看这则新闻: 最近代码托管平台代码泄露火了一下,经理赶紧让我们未雨绸缪,把托管在开源中国的项目弄到本地来,哈哈,其实项目都捏在自己手里确实安全多了,但是毕竟建立本地仓库还是 ...

  2. 腾讯云搭建git仓库

    腾讯云搭建git仓库 Git介绍 环境 下载安装 git 安装依赖库和编译工具 下载 git 解压和编译 配置环境变量 创建 git 账号密码 初始化 git 仓库并配置用户权限 创建 git 仓库并 ...

  3. linux centos7安装git服务器配置,CentOS7 Linux环境下搭建Git仓库

    1.安装依赖库 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel 2.安装Git ...

  4. Linux搭建Git 私有仓库及多人协同配置

    一:查看安装Git 查看是否安装Git git --version 没显示版本则安装,centos安装命令 yum install git 第二:创建仓库 先创建一个项目文件夹 mkdir gitpr ...

  5. windows 本地搭建git仓库_搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  6. linux搭建git服务器,windows客户端配置git

    Linux服务器配置之Git服务器搭建步骤: 一.配置环境 1.服务器:CentOS 8.2(64位) + Git (version 2.27.0) 2.客户端:Windows 10 (64位) + ...

  7. linux搭建git服务器

    Linux服务器配置之Git服务器搭建步骤: 一.配置环境 1.服务器:lCentOS 7.2(64位) + Git (version 1.8.3.1) 2.客户端:Windows 10 Pro(64 ...

  8. linux git 搭建 debian,基于Debian Linux搭建Git服务器

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 因为一些众所周知的原因,某些项目不适合开源(代码写的烂我会乱说?(╯﹏╰)b ).又因为博主不是壕,买不起Github的 ...

  9. Linux搭建Git服务器教程

    1.下载安装 git openssh-server # sudo apt-get install git openssh-server # git --version2.创建 git 账号密码 创建 ...

最新文章

  1. 一项震动制药行业的研究:大型制药公司AI的生产力
  2. mysql count 条件_我以为我对MySql很了解,直到我面试了字节跳动
  3. 对学校的希望和寄语_家长对学校的寄语怎么写
  4. java中使用Semaphore构建阻塞对象池
  5. 第一周:深度学习引言(Introduction to Deep Learning)
  6. 用MySQL写怎么删除字母_mysql如何替换掉字母
  7. (15)Node.js 自定义模块
  8. node.js使用cluster实现多进程
  9. XMLHttpReq.onreadystatechange 传递参数
  10. Django城市信息查询功能(3)
  11. Eclipse菜单栏翻译
  12. 工商总局:将对网店卖家身份进行全面普查
  13. 磨耳朵鼻祖Super Simple Songs下载之《Rain Rain Go Away》
  14. Ubuntu18配置静态IP地址
  15. seaborn颜色报错 ValueError: Invalid RGBA argument: [‘#f9802d‘, ‘#f26b15‘, ‘#fdc48f‘]
  16. emem今天再记一道套路whalectf pwn3
  17. 计算机作业微波炉工作的原理,微波炉工作电路原理图及功能图解
  18. vscode中检查单词是否拼写错误的插件
  19. wind(万得)资讯金融终端登录失败问题
  20. java_servlet字符过滤器filter

热门文章

  1. H3C G3 配置raid和远程管理
  2. 省选模拟赛(正睿的最后一场)
  3. 用Python制作会跳动的心,体验理工男李峋的浪漫
  4. Redis(周阳老师)
  5. postgis 计算面积
  6. MinGW64安装及环境配置
  7. python的环境变量配置(windows)
  8. 征信查询过多,小心变成贷款黑户!
  9. SOLIDWORKS 2023 3D Creator 云端结构设计新功能
  10. 数字孪生可视化在石油生产管理中的具体应用