`
Tzhennan
  • 浏览: 58155 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

centos git服务器搭建

 
阅读更多

#服务器端

#安装 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服务器(附教程,源码包)

    在本文中,我们将深入探讨如何在CentOS操作系统上离线搭建一个Git服务器,这是一个非常实用的技能,尤其对于那些网络环境有限或者希望在内部网络环境中管理代码仓库的开发者和团队而言。我们将使用Gogs作为Git服务的...

    centos-git服务器搭建.doc

    centos_git服务器搭建 使用Git来部署一个Web站点笔记

    centos中GIT服务器搭建及使用密钥连接.pdf

    本文将详细介绍如何在CentOS操作系统中搭建Git服务器以及如何通过SSH密钥实现安全连接,特别是针对Windows客户端的配置。 首先,我们需要在CentOS服务器上安装Git。可以通过`yum`包管理器来完成这一任务,执行`yum ...

    CentOS下的Git服务器

    ### CentOS下的Git服务器:Gitosis 安装与配置详解 #### 一、Git与Gitosis简介 Git是一款非常流行的分布式版本控制系统,最初由Linux内核的开发者Linus Torvalds为了更好地管理Linux内核的开发而创建。Git因其高效...

    git基础(git服务器搭建+git教程+git廖雪峰)

    ### Git服务器搭建 1. **安装Git服务器**:在服务器上安装Git,通常使用`sudo apt-get install git`(Ubuntu/Debian)或`yum install git`(CentOS/RHEL)。 2. **初始化仓库**:在服务器上选择合适的位置创建空仓库...

    CentOS7安装Git

    ### CentOS7安装Git知识点详解 #### 一、前言 在CentOS 7环境中安装Git是许多开发人员和系统管理员的必备技能之一。通过本文档,我们将详细介绍如何在CentOS 7系统上安装Git,包括从下载源码包到完成安装的整个...

    linux下搭建git服务器步骤

    ### Linux下搭建Git服务器步骤详解 #### 环境配置 - **服务器**: CentOS 6.6 + Git (version 1.7.1) - **客户端**: Windows 10 + Git (version 2.8.4.windows.1) #### 第一步: 安装Git 在服务器端与客户端上分别...

    centos7一键搭建git

    Git是分布式版本控制系统,而CentOS 7是基于Red Hat的稳定企业级Linux发行版,因此这个脚本适用于那些在CentOS 7服务器上工作并需要使用Git进行代码管理的开发者。 现在,我们来看看压缩包内的文件“centos7一键...

    linux搭建git服务器

    ### Linux下搭建Git服务器知识点详解 #### 一、环境配置 **服务器端环境:** - 操作系统:CentOS 6.6 - Git版本:1.7.1 **客户端环境:** - 操作系统:Windows 10 - Git版本:2.8.4.windows.1 #### 二、Git的...

    详解在CentOS下搭建自己的Git服务器

    ### 在CentOS下搭建自己的Git服务器 随着版本控制的重要性日益凸显,越来越多的开发团队选择自建Git服务器以更好地管理代码库。本文将详细介绍如何在CentOS操作系统上搭建一个Git服务器,帮助读者理解整个过程并...

    liunx下搭建git服务器

    在Linux系统中搭建Git服务器是开发团队协作的重要一环,它可以帮助团队成员高效地管理和版本控制代码。Git作为分布式版本控制系统,其强大的功能和灵活性深受程序员喜爱。本篇将详细介绍如何在Linux环境下设置一个...

    git服务器(centos)+客户端安装(tortoiseGit)_文档+安装包

    本教程将详述如何在CentOS操作系统上搭建Git服务器,并在Windows环境下使用TortoiseGit作为客户端进行配置。 一、Git服务器安装(CentOS) 1. 更新系统: 在CentOS中,首先确保系统软件是最新的,执行以下命令: `...

    在CentOS搭建Git服务器的详细步骤

    在CentOS上搭建Git服务器是企业内部代码管理的重要步骤,它可以提供私有仓库,以便团队成员安全地存储和协作开发代码。以下是在CentOS 6.5 64位操作系统上构建Git服务器的详细步骤: 1. **确认Git是否已安装** ...

    搭建git服务器.docx

    1. 安装 Git 工具:在服务器上安装 Git 工具,Ubuntu 使用 apt install git,Centos 使用 yum install git。 2. 创建 Git 用户和组:使用 useradd git 和 passwd git 命令创建 Git 用户和组,以便与其他用户隔离。 3...

    搭建(基于http协议)git服务器的安装配置说明.docx编程资料

    ### 搭建基于HTTP协议的Git服务器安装配置说明 #### 一、软件运行环境 在开始之前,确保你的服务器满足以下配置: - **服务器版本**:CentOS 5.10 (Final) - **Apache版本**:Apache-2.2.3 - **Git版本**:git-...

    CentOS下搭建Git,Gerrit Jenkins版本控制系统

    本文档是在CentOS下进行的,作为Gig、Gerrit和Jenkins版本控制服务器的搭建指导说明书。

    阿里云Linux-CentOS系统下-搭建Git服务器详解

    主要介绍了 阿里云Linux-CentOS系统下-搭建Git服务器详解的相关资料,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics