Linux搭建git仓库
环境: 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仓库相关推荐
- 云服务器搭建git仓库
前言:代码平台托管安全吗? 看这则新闻: 最近代码托管平台代码泄露火了一下,经理赶紧让我们未雨绸缪,把托管在开源中国的项目弄到本地来,哈哈,其实项目都捏在自己手里确实安全多了,但是毕竟建立本地仓库还是 ...
- 腾讯云搭建git仓库
腾讯云搭建git仓库 Git介绍 环境 下载安装 git 安装依赖库和编译工具 下载 git 解压和编译 配置环境变量 创建 git 账号密码 初始化 git 仓库并配置用户权限 创建 git 仓库并 ...
- linux centos7安装git服务器配置,CentOS7 Linux环境下搭建Git仓库
1.安装依赖库 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel 2.安装Git ...
- Linux搭建Git 私有仓库及多人协同配置
一:查看安装Git 查看是否安装Git git --version 没显示版本则安装,centos安装命令 yum install git 第二:创建仓库 先创建一个项目文件夹 mkdir gitpr ...
- windows 本地搭建git仓库_搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
- linux搭建git服务器,windows客户端配置git
Linux服务器配置之Git服务器搭建步骤: 一.配置环境 1.服务器:CentOS 8.2(64位) + Git (version 2.27.0) 2.客户端:Windows 10 (64位) + ...
- linux搭建git服务器
Linux服务器配置之Git服务器搭建步骤: 一.配置环境 1.服务器:lCentOS 7.2(64位) + Git (version 1.8.3.1) 2.客户端:Windows 10 Pro(64 ...
- linux git 搭建 debian,基于Debian Linux搭建Git服务器
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 因为一些众所周知的原因,某些项目不适合开源(代码写的烂我会乱说?(╯﹏╰)b ).又因为博主不是壕,买不起Github的 ...
- Linux搭建Git服务器教程
1.下载安装 git openssh-server # sudo apt-get install git openssh-server # git --version2.创建 git 账号密码 创建 ...
最新文章
- 一项震动制药行业的研究:大型制药公司AI的生产力
- mysql count 条件_我以为我对MySql很了解,直到我面试了字节跳动
- 对学校的希望和寄语_家长对学校的寄语怎么写
- java中使用Semaphore构建阻塞对象池
- 第一周:深度学习引言(Introduction to Deep Learning)
- 用MySQL写怎么删除字母_mysql如何替换掉字母
- (15)Node.js 自定义模块
- node.js使用cluster实现多进程
- XMLHttpReq.onreadystatechange 传递参数
- Django城市信息查询功能(3)
- Eclipse菜单栏翻译
- 工商总局:将对网店卖家身份进行全面普查
- 磨耳朵鼻祖Super Simple Songs下载之《Rain Rain Go Away》
- Ubuntu18配置静态IP地址
- seaborn颜色报错 ValueError: Invalid RGBA argument: [‘#f9802d‘, ‘#f26b15‘, ‘#fdc48f‘]
- emem今天再记一道套路whalectf pwn3
- 计算机作业微波炉工作的原理,微波炉工作电路原理图及功能图解
- vscode中检查单词是否拼写错误的插件
- wind(万得)资讯金融终端登录失败问题
- java_servlet字符过滤器filter