相关链接

直接操作

# 创建git专用账号(使用命令获取git-shell的路径)
sudo useradd -m -s "$(command -v git-shell)" git
# 设置git用户为无密码用户
sudo usermod -p '*' git
# 使用git身份创建git的ssh目录,并设置权限700
sudo -u git mkdir -p -m 700 /home/git/.ssh
# 创建authorized_keys并填入允许的公钥 
sudo -u git touch /home/git/.ssh/authorized_keys
sudo chmod 600 /home/git/.ssh/authorized_keys
# 创建一个初始仓库
sudo -u git git init --bare --initial-branch=main /home/git/repos/example.git

对于工作设备推送初始代码至此:

git remote add origin git@server-address:repos/example.git
git push -u origin main

SSH默认端口问题

git push 时的默认端口是22,但如果我们更改过默认端口,则可以对Host进行特殊配置:

# 修改ssh配置
vim ~/.ssh/config

最简编辑如下(将server-address替换成你VPS的ip或者域名):

Host server-address
	Port <your-real-port>