你的位置:首页 > 操作系统

[操作系统]CENTOS下搭建git代码仓库 ssh协议


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     即可下拉代码且无需密码