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

使用ssh协议:

一、安装git,使用yum install git 或者使用 源码包安装git-2.2.0.tar.gz(https://www.kernel.org/pub/software/scm/git/)

  新建git用户与用户组

  # useradd git
  # passwd git

二,新建git仓库(仓库位置自己随用户自己决定,例/var/git/testproject.git)

  1,在/var/git目录下新建 项目名称testproject.git 文件夹

  2,# cd /var/git/testproject.git 进入文件夹,

     # git init --bare 创建裸库(这里需要注意--bare参数,表示是要生成一个"干净"的仓库)

  3,修改权限

    # chown -R git testproject.git
    # chgrp -R git testproject.git
    # chmod -R 775 testproject.git
    # chmod g+s -R testproject.git

三,配置ssh公钥(无需密码更新代码库)

  1,生成 SSH 公钥:

    每个需要使用git仓库的软件开发者,需要在使用git代码库的电脑上面生成一个ssh公钥,具体步骤:

    1.1 进入自己的~/.ssh目录(win系统在用户文件夹下:C:\Users\Administrator\.ssh),查看有没有用 文件名 和 文件名.pub 来命名的一对文件,这个 文件名 通常是 id_dsa 或者 id_rsa。

      *.pub 文件是公钥,另一个文件是密钥。假如没有这些文件(或者干脆连 .ssh 目录都没有),在linux下,你可以用 ssh-keygen 的程序来建立它们,该程序在 Linux/Mac 系统由 SSH 包提供; 在 Windows 上则包含在 MSysGit 包里,git安装目录中,bin路径下ssh-keygen.exe。

      运行后,它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。

  2, 复制本机的*.pub中的内容添加至git仓库所在服务器的git用户文件夹下的/home/git/.ssh/authorized_keys文件中 可使用命令# $ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys,将公钥内容追加至授权文件中。

    如果 ~/.ssh/authorized_keys 不存在,你可以直接将id_rsa.pub 文件复制过去并重命名为authorized_keys即可。

  3, ssh使用公钥授权不通过的问题解决:

    查看并修改ssh配置文件:

     # vi /etc/ssh/sshd_config

      RSAAuthentication yes

      PubkeyAuthentication yes

      AuthorizedKeysFile .ssh/authorized_keys

    保存后,service sshd restart 生效

四,使用仓库

  1,在获得授权的电脑上,打开git bash,

    # git clone git@serverip:/var/git/testproject.git     即可下拉代码且无需密码

CENTOS下搭建git代码仓库 ssh协议的更多相关文章

  1. CentOS下搭建Git服务器(基于SSH协议)

    1,安装Git所需依赖包      # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel      # ...

  2. 在Centos下搭建git并可以通过windows客户端访问

    亲测在本地虚拟机和远程服务器上无问题,如有不懂请留言. 注意事项:以下所有操作是在root权限下操作的.1.Centos服务器版本centos6.5 2.首先安装git,使用yum在线安装 yum i ...

  3. CentOS下搭建Git服务器

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

  4. linux(centos)下安装git并上传代码些许步骤(亲自验证过的步骤)

     曾经听说了好多次github,但直到近期才第一次学习使用github来托管自己在linux下的代码! 说实话.我自己在使用的时候从网上查了好多教程.但总认为难以掌握(步骤过于繁琐),自己操作的时候还 ...

  5. 在Linux下搭建Git服务器的方法是什么样?

    第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令.sudo yum install git 第二步 添 ...

  6. 本地windows下搭建git的本地服务器

    本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...

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

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

  8. 在 Linux 下搭建 Git 服务器

    环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux 做为 ...

  9. 最新搭建GIT服务器仓库

    新开了一个项目,现在需要将代码放在公司GIT服务器上面.所以这里需要了一些问题..记录一下.因为原来公司这边的服务器的git用户都是创建好的.这里没有创建.需要的可以看看:http://www.cnb ...

随机推荐

  1. 个人作业——软件工程实践总结&个人技术博客

    一. 回望 (1)对比开篇博客你对课程目标和期待,"希望通过实践锻炼,增强软件工程专业的能力和就业竞争力",对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪 ...

  2. Win8.1安装配置64位Oracle Database 11g的详细图文步骤记录

    在开始Oracle数据安装之前建议:1.关闭本机的病毒防火墙.2.断开互联网. 这样可以避免解压缩丢失文件和安装失败. Step1 Oracle官网下载好Windows系统64位的安装包,下载速度慢的 ...

  3. 并发04--JAVA中的锁

    1.Lock接口 Lock与Synchronized实现效果一致,通过获得锁.释放锁等操作来控制多个线程访问共享资源,但是Synchronized将获取锁固话,必须先获得锁,再执行,因此两者对比来说, ...

  4. SerializableClob转String

    ORACLE数据库读取CLOB字段,JAVA中获取到类型为SerializableClob,如何转换成String类型那? 以下是代码示例:         SerializableClob sc = ...

  5. JavaScript中bool类型的转化

    JavaScript 中 if() 圆括号中的表达式将被看做布尔值来处理.这时就涉及到一些转化的问题. 1.特殊值undefined和null变成false. 2.数字0和NaN变成false. 3. ...

  6. (私人收藏)蓝色夜空背景的通用商务PPT模板

    蓝色夜空背景的通用商务PPT模板 https://pan.baidu.com/s/1tsmPEdE5gjDDSxIyMDJGCA0m28

  7. Sta,题解

    题目: 分析: 这个有点过于简单,两次Dfs处理出Dp[i],Son[i],Deep[i],Val[i](分别表示以1为根时i所有子树的深度之和,以1为根时i子树节点个数,以1为根时i深度,以i为根时 ...

  8. LoadLibraryA与GetProcAddress介绍

    0x00 函数原型 HMODULE LoadLibraryA(     LPCTSTR lpLibFileName//模块的的的名字 ) FARPROC GetProcAddress( HMODULE ...

  9. 我终于弄懂了Python的装饰器(二)

    此系列文档: 1. 我终于弄懂了Python的装饰器(一) 2. 我终于弄懂了Python的装饰器(二) 3. 我终于弄懂了Python的装饰器(三) 4. 我终于弄懂了Python的装饰器(四) 二 ...

  10. vue重置data里的值

    this.$options.data() 这个可以获取原始的data值,this.$data 获取当前状态下的data,拷贝重新赋值一下就行了. Object.assign(this.$data, t ...