美文网首页
centos 安装 git服务器

centos 安装 git服务器

作者: yundGo | 来源:发表于2016-11-20 20:29 被阅读0次

    直接安装
    yum install git
    创建git服务器专属的用户
    useradd git
    出于安全考虑,禁止git用户登陆shell,编辑/etc/passwd文件
    vi /etc/passwd
    在最后面找到:
    git:x:1001:1001:,,,:/home/git:/bin/bash
    改为:
    git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

    接着在git用户目录下创建.ssh目录和authorized_keys文件,用于存放需要克隆或远程推送的用户的公钥

    mkdir /home/git/.ssh
    touch /home/git/.ssh/authorized_keys
    

    创建git仓库,--bare 参数创建一个空的仓库,没有工作区,只会生成一类用于记录版本库历史记录的文件。
    服务器上的Git仓库通常都以.git结尾
    git init --bare sample.git

    然后,把这个仓库的owner改为git
    chown -R git:git sample.git

    到这里服务器端的git就安装完成了。
    客户端克隆git仓库,需要先在本地生成他们的公钥,然后把这些公钥保存到 /home/git/.ssh/authorized_keys
    生成公钥的方法这里以Linux为例子,在客户端输入以下命令,然后一路回车
    ssh-keygen

    在你的用户目录下的.ssh/id_rsa.pub,打开复制里面的内容就是了。
    然后就可以克隆了,server是你的ip地址,/sample.git 是你的仓库路径
    git clone git@server:/sample.git

    这是ssh的一种连接方式。
    如果出现以下情况

    ssh: connect to host server port 22: Connection refused
    fatal: Could not read from remote repository.
    Please make sure you have the correct access rights
    and the repository exists.
    

    检查一下你的ssh端口号是多少,由于安全原因一般会修改ssh的默认端口号。
    然后运行以下命令,port就是你的端口号
    git clone ssh://�git@server:port/sample.git

    如果是提示需要密码,有可能是公钥没有保存到/home/git/.ssh/authorized_keys,或者用户权限问题。又或者可以试试重新生成公钥。

    相关文章

      网友评论

          本文标题:centos 安装 git服务器

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