ubuntu搭建git服务器

服务器操作

  1. 安装git

     apt-get install git
    
  2. 创建git用户和git用户组,分配目录/home/git,然后:

    vim /etc/passwd
    

    将:git:x:1003:1003::/home/git:
    改成:git:x:1003:1003::/home/git:/usr/bin/git-shell
    禁用 git 用户的 shell

  3. /home/git下创建.ssh文件夹

  4. .ssh下创建authorized_keys文件,如果无效查看/etc/ssh/sshd_config文件一行:(AuthorizedKeysFile %h/.ssh/authorized_keys) 有没有被注释掉,重启ssh服务

     service ssh restart
    

客户端操作

  1. 配置git用户信息

     git config --global user.name=username
     git config --alobal user.email=user@domain.com
    
  2. 使用keygen在客户端生成公钥,命令如下:

     ssh-keygen -t rsa
    

    剩下按提示走(一般询问三次,1.公钥存放地址,2.设置密码,3.重复设置的密码)

服务器操作

  1. 将生成的id_rsa.pub上传到服务器上,然后将内容粘贴到authorized_keys文件中,不要采用记事本打开,使用命令

     cat id_rsa.pub >>authorized_keys
    
  2. 在/home/git目录下,创建仓库sample.git:

     git init --bare sample.git
    

    别忘了授予git拥有目录的权限,否则push代码时候会报没写入权限的错

     chown -R git:git sample.git
    

客户端操作

  1. 测试是否成功连接上git server

     ssh -T git@hostname:sample.git
    

    如果有Welcome什么的就是成功了,但是没法使用bash

  2. 可以克隆git仓库到本地啦,运行:

    git clone git@hostname:sample.git
    

    会询问一次第6步设置的密码,成功校验就可以clone成功!

文章目录
  1. 1. 服务器操作
  2. 2. 客户端操作
  3. 3. 服务器操作
  4. 4. 客户端操作
|