安装 Git 和 SSH 服务
sudo apt-get update
sudo apt-get install git openssh-server
创建 git 用户
sudo adduser git
禁用 git 用户的 shell 登录(安全考虑)
sudo chsh git -s $(which git-shell)
在服务器上为 git 用户创建 .ssh 目录
sudo mkdir -p /home/git/.ssh
sudo chown -R git:git /home/git/.ssh
创建授权密钥文件
sudo touch /home/git/.ssh/authorized_keys
sudo chown git:git /home/git/.ssh/authorized_keys
sudo chmod 600 /home/git/.ssh/authorized_keys
创建仓库目录
sudo mkdir -p /srv/git
sudo chown git:git /srv/git
创建一个新的仓库(示例)
cd /srv/git
sudo -u git git init --bare project.git
sudo chown -R git:git project.git
客户端配置
在需要访问服务器的客户端电脑上
生成 SSH 密钥对(如果还没有)
ssh-keygen -t rsa -b 4096
将公钥复制到服务器(替换相应的用户名和IP)
ssh-copy-id -i ~/.ssh/id_rsa.pub git@your_server_ip
或手动添加公钥到服务器的 authorized_keys 文件
cat ~/.ssh/id_rsa.pub | ssh git@your_server_ip "cat >> ~/.ssh/authorized_keys"
window 方法1:使用 ssh-copy-id(需要额外安装)
ssh-copy-id -i ~/.ssh/id_rsa.pub git@your_server_ip
windows方法2:手动复制公钥内容
打开 C:\Users\你的用户名\.ssh\id_rsa.pub
复制内容到服务器的 /home/git/.ssh/authorized_keys 文件中
测试 SSH 连接
ssh -T git@your_server_ip
克隆仓库
git clone git@your_server_ip:/srv/git/project.git
或添加远程仓库
git remote add origin git@your_server_ip:/srv/git/project.git