#服务器端
#安装 git
参考链接:http://tzhennan.iteye.com/admin/blogs/2410564
#查看版本
$ git --version
git version 1.8.3.1
#创建git 用户,用来管理 git 服务,并为 git 用户设置密码
$ id git
id: git:无此用户
$ useradd git
$ passwd git
#创建 git 仓库
$ mkdir -p /data/git/test.git
$ git init --bare /data/git/test.git
Initialized empty Git repository in /data/git/test.git/
$ chown -R git:git test.git/
#客户端
#安装 git
参考链接:http://tzhennan.iteye.com/admin/blogs/2410564
#客户端 clone 远程仓库
$ git clone git@172.17.0.2:/data/git/test.git
Cloning into 'test'...
git@172.17.0.2's password:
warning: You appear to have cloned an empty repository.
#如果SSH用的不是默认的22端口,则需要使用以下的命令(假设SSH端口号是7700)
$ git clone ssh://git@172.17.0.2:7700/data/git/test.git
$ git pull
git@172.17.0.2's password:
Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.
#解决步骤:
$ touch README
$ git add -A
$ git commit -m "add README"
$ git push -u origin master
git@172.17.0.2's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 206 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository database ./objects
remote: fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To git@172.17.0.2:/data/git/share.git
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'git@172.17.0.2:/data/git/share.git'
#服务器端设置仓库权限
$ chown -R git:git share.git/
#每次git pull都提示输入git密码
客户端创建 ssh 公钥和私钥
$ ssh-keygen -t rsa -C "xxx@163.com"
此时 ~/.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub
id_rsa 是私钥
id_rsa.pub 是公钥
服务器端 git 打开 RSA 认证
进入 /etc/ssh 目录,编辑 sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存并重启 sshd 服务
$ systemctl restart sshd.service
由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys
$ cd /home/git
$ mkdir .ssh
把 .ssh 文件夹的 owner 修改为 git
$ chown -R git:git .ssh
将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件
$ ssh git@172.17.0.2 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
服务端修改 .ssh 目录的权限为 700
$ chmod 700 .ssh
服务端修改 .ssh/authorized_keys 文件的权限为 600
$ chmod 600 authorized_keys
问题1
$ ssh git@172.17.0.2 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
bash: .ssh/authorized_keys: Permission denied
解决办法:
把 .ssh 文件夹的 owner 修改为 git
$ chown -R git:git .ssh
问题2
$ git pull
ssh: connect to host 172.17.0.2 port 22: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
解决办法:
服务端启动sshd服务
$ systemctl start sshd.service
相关推荐
在本文中,我们将深入探讨如何在CentOS操作系统上离线搭建一个Git服务器,这是一个非常实用的技能,尤其对于那些网络环境有限或者希望在内部网络环境中管理代码仓库的开发者和团队而言。我们将使用Gogs作为Git服务的...
centos_git服务器搭建 使用Git来部署一个Web站点笔记
本文将详细介绍如何在CentOS操作系统中搭建Git服务器以及如何通过SSH密钥实现安全连接,特别是针对Windows客户端的配置。 首先,我们需要在CentOS服务器上安装Git。可以通过`yum`包管理器来完成这一任务,执行`yum ...
### CentOS下的Git服务器:Gitosis 安装与配置详解 #### 一、Git与Gitosis简介 Git是一款非常流行的分布式版本控制系统,最初由Linux内核的开发者Linus Torvalds为了更好地管理Linux内核的开发而创建。Git因其高效...
### Git服务器搭建 1. **安装Git服务器**:在服务器上安装Git,通常使用`sudo apt-get install git`(Ubuntu/Debian)或`yum install git`(CentOS/RHEL)。 2. **初始化仓库**:在服务器上选择合适的位置创建空仓库...
### CentOS7安装Git知识点详解 #### 一、前言 在CentOS 7环境中安装Git是许多开发人员和系统管理员的必备技能之一。通过本文档,我们将详细介绍如何在CentOS 7系统上安装Git,包括从下载源码包到完成安装的整个...
### Linux下搭建Git服务器步骤详解 #### 环境配置 - **服务器**: CentOS 6.6 + Git (version 1.7.1) - **客户端**: Windows 10 + Git (version 2.8.4.windows.1) #### 第一步: 安装Git 在服务器端与客户端上分别...
Git是分布式版本控制系统,而CentOS 7是基于Red Hat的稳定企业级Linux发行版,因此这个脚本适用于那些在CentOS 7服务器上工作并需要使用Git进行代码管理的开发者。 现在,我们来看看压缩包内的文件“centos7一键...
### Linux下搭建Git服务器知识点详解 #### 一、环境配置 **服务器端环境:** - 操作系统:CentOS 6.6 - Git版本:1.7.1 **客户端环境:** - 操作系统:Windows 10 - Git版本:2.8.4.windows.1 #### 二、Git的...
### 在CentOS下搭建自己的Git服务器 随着版本控制的重要性日益凸显,越来越多的开发团队选择自建Git服务器以更好地管理代码库。本文将详细介绍如何在CentOS操作系统上搭建一个Git服务器,帮助读者理解整个过程并...
在Linux系统中搭建Git服务器是开发团队协作的重要一环,它可以帮助团队成员高效地管理和版本控制代码。Git作为分布式版本控制系统,其强大的功能和灵活性深受程序员喜爱。本篇将详细介绍如何在Linux环境下设置一个...
本教程将详述如何在CentOS操作系统上搭建Git服务器,并在Windows环境下使用TortoiseGit作为客户端进行配置。 一、Git服务器安装(CentOS) 1. 更新系统: 在CentOS中,首先确保系统软件是最新的,执行以下命令: `...
在CentOS上搭建Git服务器是企业内部代码管理的重要步骤,它可以提供私有仓库,以便团队成员安全地存储和协作开发代码。以下是在CentOS 6.5 64位操作系统上构建Git服务器的详细步骤: 1. **确认Git是否已安装** ...
1. 安装 Git 工具:在服务器上安装 Git 工具,Ubuntu 使用 apt install git,Centos 使用 yum install git。 2. 创建 Git 用户和组:使用 useradd git 和 passwd git 命令创建 Git 用户和组,以便与其他用户隔离。 3...
### 搭建基于HTTP协议的Git服务器安装配置说明 #### 一、软件运行环境 在开始之前,确保你的服务器满足以下配置: - **服务器版本**:CentOS 5.10 (Final) - **Apache版本**:Apache-2.2.3 - **Git版本**:git-...
本文档是在CentOS下进行的,作为Gig、Gerrit和Jenkins版本控制服务器的搭建指导说明书。
主要介绍了 阿里云Linux-CentOS系统下-搭建Git服务器详解的相关资料,需要的朋友可以参考下