linux 下搭建基于 ssh 的 git 服务器
首先, 需要有 git 和 ssh, 在 ubuntu 下你可以执行
1 | sudo apt install -y git openssh-server |
然后创建一个新用户 git, 并指定默认 git-shell
1 | sudo useradd -s /usr/bin/git-shell -m git |
并且禁止 git 用户登录
1 | sudo passwd -l git |
然后通过登录 git 用户导入公钥
1 | sudo su - git -s /bin/bash |
新建一个项目, 就只要在 git 用户的 home 目录下创建裸仓库
1 | git init --bare repo.git |
到这基本就完成了, 可以从通过 ssh 访问 git 服务器 clone 仓库
默认 22 端口的 git clone
1 | git clone git@<server>:repo.git |
自定义 ssh 端口的 git clone 需要指定绝对路径
1 | git clone ssh://git@<server>[:port]/path/to/repo.git |