tangbinde 发表于 2015-10-30 14:31:51

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     即可下拉代码且无需密码
  
页: [1]
查看完整版本: CENTOS下搭建git代码仓库 ssh协议