搭建自己的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。  阅读(109)  评论(0)    收藏  举报