搭建自己的GIT服务器

出于个人需要,搭建一个自己的GIT服务器是在所难免. 方便自己管理代码,也方便composer.

  1. root登录服务器,新建一个用户组 && 所属该组的用户.

     # 新建一个git用户组
     groupadd -f git  
     # 新建一个属于git组的git用户
     useradd -g git git
     # 为git用户创建密码,输入两次相同密码即可
     passwd git
    
  2. root新建仓库

     #  新建一个仓库
     cd /usr/local/ && mkdir git && cd git && git init --bare
     #  设置仓库相关权限
     cd ../ && chown -R git:git git && chmod -R 600 git
    
  3. 客户端生成公钥

     # 推荐使用git-bash
     ssh-keygen -t rsa -C your@emai.com
     # 一路回车即可,如果公钥已存在会提示id_rsa already exists.Overwrite(y/n)? 输入y覆盖即可
     ssh-add
    
  4. 服务器切换到git用户

     # change to 'git'
     # 这里一定是su - git 而不是 su git
     su - git
     # 在git的home目录新建一个文件夹.ssh,并在该文件夹下创建一个authorized_keys文件
     mkdir .ssh && chmod -R 700 .ssh
     touch .ssh/authorized_keys && chmod -R 600 .ssh/authorized_keys
    
  5. 复制客户端的公钥到/home/git/.ssh/authorized_keys文件中

     # 这里只举例Windows
     # 找到 C:\Users\YourUser\.ssh\id_rsa.pub,使用文本编辑器打开,复制到服务器/home/git/.ssh/authorized_keys保存即可
    
  6. 克隆仓库并push文件

     # 客户端
     git clone ssh://git@yourdomain/usr/local/git 
     cd git/
     touch hello.txt
     echo hello world >> hello.txt
     git push origin master
     (已经把客户端的公钥复制到/home/git/.ssh/authorized_keys中,可以不需要输入密码)
     # 可以再clone一次看看是否已经存在hello.txt,如有则成功.
    
  7. 其他一些设置

     # 出于安全考虑,git用户禁用shell登录
     su - root
     vim /etc/passws
     # 找到git的那一行
    

    git❌1001:1001:,,,:/home/git:/bin/bash

     # 改成
    

    git❌1001:1001:,,,:/home/git:/usr/bin/git-shell


以上内容均来自网络,本人只是整合以及记录笔记.如有不明,可以留言或者联系我

Everything do yourself

posted @ 2018-04-22 12:15  Masker。  阅读(83)  评论(0编辑  收藏  举报