搭建Git服务器

作者: 最怕认真 | 来源:发表于2017-01-02 00:29 被阅读497次

    系统是Centos7,本文章记录搭建过程中遇到的问题,方便以后参考

    1.安装git

    #yum install -y git
    

    2.创建一个新用户为git服务

    useradd git   (添加一个用户,用户名叫git)
    passwd git  (修改用户git的密码)
    

    对于这个用户,你不一定要叫git,但是一般的都叫git,我们就不再破坏这种规矩了。
    这个指令之后,在/home下就多了一个git文件夹,代表我们的git用户
    然后用ssh远程连接试下是否能连接,如果无法连接,可能是没给该用户这个权限,我们可以更改etc/ssh/sshd_config。在其中增加AllowUsers:username(可以多个,空格分开)给普通用户增加ssh权限。
    这里就是AllowUsers:git

    3.创建仓库

    在/home/git下创建我们的项目仓库,假设我的项目叫Sample,我们先cd到git目录下,然后

    mkdir sample.git
    

    创建一个文件夹,这个名称你也可以任意,但是一般的习惯是 项目.git来命名

    接着进入 sample.git目录下,使用

    git init --bare
    

    创建一个仓库,一定要带bare参数
    然后修改sample.git 的所有者

    chown -R git:git **sample.git**/
    

    chown -R 用户名:所属群组

    4.修改配置文件

    进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    

    保存重启sshd服务,命令依据版本不同有区别的,可以百度下

    5.创建存放公钥的文件

    AuthorizedKeysFile .ssh/authorized_keys
    

    这个配置表示,我们的公钥放在.ssh/authorized_keys这个文件中,而.ssh目录是在工程目录的上级目录里,也就是/home/git这个目录下,我们在这个目录下创建一个.ssh文件夹,修改.ssh 文件夹的 owner 修改为 git。

    chown -R git:git .ssh
    

    6.将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件

    我们采用的是ssh连接方式,如果不想每次输密码,就需要用密钥验证,首先在git bash中

    ssh-keygen -t rsa -C "472323087@qq.com"
    

    邮箱任意,然后会让你输密码,直接回车,也就是不填密码,否则以后你每次都要输这个密码。创建完成会在c/user/用户名 下生成一个.ssh文件夹,里头一个id_rsa.pub和id_rsa,id_rsa.pub就是给服务器的,id_rsa你留着用以验证。
    公钥生成完毕,就将它导入服务器。
    打开Git Bash

    $ ssh git@server 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
    

    这里补充一点,git的地址结构是
    用户名@服务器ip地址:git仓库目录
    我们这里的话是

    git@192.168.1.10:/home/git/sample.git
    

    执行上条命令,会要让你输入git用户的密码,这个密码就是步骤2里的密码。然后去服务器看下我们的
    /home/git/.ssh下是否多了一个authorized_keys 文件,用 cat authorized_keys查看文件内容,是否和客户端的id_rsa.pub内容一致。

    修改 .ssh 目录的权限为 700
    修改 .ssh/authorized_keys 文件的权限为 600
    cd 到git目录下
    chmod 700 .ssh
    cd 到git/.ssh目录下
    chmod 600 authorized_keys

    如此,服务器配置完毕。

    7.从服务器clone代码

    git bash

    git clone git@服务器ip地址:/home/git/sample.git
    

    然后随便加点东西看下提交等操作有没有问题

    相关文章

      网友评论

        本文标题:搭建Git服务器

        本文链接:https://www.haomeiwen.com/subject/dstwvttx.html