你有没有想过,把自己的代码仓库搬到云上,却不想被商业云仓库绑架?别慌,今天给你全套教程,教你在云服务器上搭建一个纯个人用的Git服务器,零成本、零广告,真正属于自己的小窝。
先说清楚:这些步骤不需要你对云服务器是“天才级”,只要会基本的终端操作,随手给你实现。先准备一个低价云主机,主流如阿里云、那不勒斯云、Vultr;CPU 1核、内存 1GB、磁盘 20GB 就能搞定。选择 Ubuntu 22.04 作为操作系统,原因很简单:官方仓库自带 Git 安装脚本,安全性有保障。
第一步:登录云服务器 SSH,更新系统并安装必要的软件包。把 sudo apt update && sudo apt upgrade -y 运行完毕后,执行 sudo apt install git openssh-server -y,越来看越省心,这一步让你拥有一个可被 SSH 远程访问的 Git 服务器。
第二步:开启 SSH 并设定安全策略。编辑 /etc/ssh/sshd_config,将 PermitRootLogin no 确认开启,防止直接以 root 账号登录。重启 SSH:sudo systemctl restart sshd。保证你的公网 IP 或域名可以安全访问到 22 端口。
第三步:创建一个专门的 Git 用户,例如 welcome,并给她设置一个强密码。使用 sudo adduser welcome,按提示设置。接下来你需要把她加入 git 组:sudo usermod -aG git welcome。这一步别忽略,组权限能让你更灵活地管理仓库。
第四步:给 Git 用户创建一个可认证的仓库目录。切换到刚才创建的用户:sudo -i -u welcome,在 ~/repos 下做目录:mkdir repos && cd repos。在此目录下初始化裸仓库:git init --bare test.git,你可以根据自己的项目名替换 test.git。
第五步:配置 SSH 公钥。让你外部的 Git 设备(比如本机 PC)能无密码推拉仓库,你需要把本地的 ~/.ssh/id_rsa.pub 添加到服务器用户的 ~/.ssh/authorized_keys 文件。直接复制粘贴或者使用 ssh-copy-id welcome@your.server.ip 都行。
第六步:限制远程操作权限。为了防止恶意提交或削改,你可以在 gitolite 之类的工具上做细粒度权限控制。也可直接在服务器上让 Git 只接受推送:在仓库根目录下的 hooks/pre-receive 写入 #!/bin/bash exit 0,给它执行权限 chmod +x pre-receive。如果想让推送文件更严谨,可以加入 gitolite 或 git-repo 管理框架。
第七步:测验。回到本地,添加远程:git remote add origin ssh://welcome@your.server.ip:22/repos/test.git,然后尝试提交一小段代码 git commit -m "First commit",推送 git push origin master,如果一切无误,你的代码已经安全写进云端。
tips:如果你想把 Git 服务器绑定到一个域名,记得把域名的 A 记录指向服务器 IP。然后在 SSH 配置里 UsePAM yes、PasswordAuthentication no,进一步加固安全。
广告:玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink
就是这么简单!进入这段旅程之前,你不需要理解所有云服务的高级操作,只要按步骤操作,等你自己的 Git 仓库在云端跑起来。前面你可能想不到,自己搭建云端 Git 竟然这么随手可得。别再等低价促销了,赶紧行动,把代码搬到属于自己的小云房。想想看,每一次提交,都在推动你成为更好的程序员……或者,来看点后续教程再说。于是!从此,代码不再只是本地也不是第三方,只是云端的你和我之间的秘密。