1,安装Git所需依赖包
     # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
     # yum install gcc perl-ExtUtils-MakeMaker
 
2,卸载CentOS自带的git
     # yum remove git     
 
3,下载较新Git版本
     # mkdir /usr/src/tools
     # cd /usr/src/tools
     # tar -zxvf git-2.8.3.tar
 
4,安装Git并添加到环境变量中,Git安装路径为/usr/local/git
     # cd git-2.8.3.tar
     # make prefix=/usr/local/git all
     # make prefix=/usr/local/git install
     # echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
     # source /etc/bashrc
     
     完毕,查看git版本号
     # git --version 
 
5,创建用户git,用来运行Git服务
     # adduser git
     # su git
     # cd ~
     # mkdir .ssh
     # touch authorized_keys
     在git用户的家目录(/home/git/)创建一个.ssh的目录,将协同工作人员的SSH公钥添加到该目录的authorized_keys文件中。
 
6,收录客户端的SSH公钥到/home/git/.ssh/authorized_keys文件中
     客户端使用命令 ssh-keygen -t rsa -C "你的email地址" ,会在~/.ssh/id_rsa.pub生成SSH公钥,复制给管理员即可。 
 
7,配置服务器端ssh服务
     # vim /etc/ssh/sshd_config
     RSAAuthentication yes
     PubkeyAuthentication yes
     AuthorizedKeysFile /home/git/.ssh/authorized_keys #你的authorized_keys所在路径
 
8,初始化git仓库(裸库)
     # cd /home/git 
     # mkdir project.git
     # git init --bare project.git
 
9,禁用git用户shell登录
     # vim /etc/passwd
     git:x:1001:1001:,,,:/home/git:/bin/bash
     改为
     git:x:1001:1001:,,,:/home/git:/usr/local/git/bin/git-shell
 
 
现在客户端可以通过 git clone 命令克隆远程仓库了,注意这里有些问题需要注意,SSH对公钥,私钥的权限和所有权的要求是非常严格的,总结如下:
1,下面两个目录的所有权必须是git(上面创建的git用户),所属组也应该是git,权限必须为700
     ①/home/git     # chmod 700 /home/git
     ②/home/git/.ssh     # chmod 700 /home/git/.ssh
2,公钥文件的所有权必须是git,所属组也必须是git,权限必须是644
     ①/home/git/.ssh/authorized_keys #c hmod 644 /home/git/.ssh/authorized_keys
 
如果权限不对,会造成不能正常登录,报错信息:Permission denied (publickey,gssapi-with-mic.....)

CentOS下搭建Git服务器(基于SSH协议)的更多相关文章

  1. CENTOS下搭建git代码仓库 ssh协议

    centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限    git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或 ...

  2. CentOS下搭建Git服务器

    1.首先需要安装Git,可以使用yum源在线安装: [root@localhost Desktop]# yum install -y git 2.创建一个git用户,用来运行git服务 # addus ...

  3. CentOS下的Git服务器

    [Gitosis]CentOS下的Git服务器:Gitosis  [摘要]         详细介绍如何在CentOS上配置Gitosis        我们很多人知道Git可能是从Github开始的 ...

  4. Windows平台下搭建Git服务器的图文教程

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

  5. Windows平台下搭建Git服务器的图文教程(转发)

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

  6. 【转】在Linux下搭建Git服务器

    在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...

  7. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  8. Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

  9. Windows操作系统下搭建Git服务器和客户端。

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

随机推荐

  1. Cookieless.js —— 无需 Cookie 实现访客跟踪

    直击现场 https://github.com/Colex/node-cookieless Cookieless.js 是一个轻量级的使用 Etag 进行访客跟踪的 Node.js 扩展库.使用该库无 ...

  2. Qt系统对话框中文化及应用程序实现重启及使用QSS样式表文件及使用程序启动界面

    一.应用程序中文化 1).Qt安装目录下有一个目录translations/,在此目录下有qt_zh_CN.ts和 qt_zh_CN.qm把它们拷贝到你的工程目录下. 2).在main函数加入下列代码 ...

  3. C#WinForm线程基类

    在CS模式开发中一般我们需要用到大量的线程来处理比较耗时的操作,以防止界面假死带来不好的体验效果,下面我将我定义的线程基类给大家参考下,如有问题欢迎指正. 基类代码 #region 方法有返回值 // ...

  4. 记住以下10条,Linux磁盘与文件系统管理无忧矣

    1.查看当前Linux系统所支持的文件系统:ls -l /lib/modules/$(uname -r)/kernel/fs:目前已加载到内存中支持的文件系统:cat /proc/filesystem ...

  5. QT在linux环境下读取和设置系统时间(通过system来直接调用Linux命令,注意权限问题)

    QT在Linux环境下读取和设置系统时间 本文博客链接:http://blog.csdn.NET/jdh99,作者:jdh,转载请注明. 环境: 主机:Fedora12 开发软件:QT 读取系统时间 ...

  6. Windows下配置QT OpenCV

    OpenCV-Study:Windows下配置OpenCV 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:XP OpenCV版本:2.4 ...

  7. 有效地查找SAP增强点

    找SAP增强点一直都是SAP开发的重点难点,增强开发的代码一般不会很多,但是需要花费比较多的时间在查找增强点上 网上也流传了很多查找SAP增强的方法: 1.利用TCODE寻找增强 2.利用系统函数寻找 ...

  8. java多线程之线程安全

    线程安全和非线程安全是多线程的经典问题,非线程安全会在多个线程对同一个对象并发访问时发生. 注意1: 非线程安全的问题存在于实例变量中,如果是方法内部的私有变量,则不存在非线程安全问题. 实例变量是对 ...

  9. play框架之模板

    现在网站发展日新月异,网页上显示的东西越来越复杂,看看HTML源码就知道,这东西不是正常人能拼出来的.因此模板应运而生,自我感觉,好的模板应该支持一下功能: 1.支持HTML代码段的复用,即在HTML ...

  10. java开发工具必备神器——Notepad++和jd-gui下载安装使用

    Notepad++是 Windows操作系统下的一套文本编辑器,有完整的中文化接口及支持多国语言编写的功能(UTF8技术).除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码.Note ...