mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1509 字
4 分钟
2026年05月28日 | 把闲置树莓派变成私有Git服务器的完整记录
2026-05-28

把闲置树莓派变成私有Git服务器的完整记录#

各位看官,今儿个本宫决定把抽屉里那台已经吃灰的树莓派翻出来,给它安个“Git 服务器”的名号,顺便把臣妾平日里写代码的点点滴滴都藏进这颗小小的单板机里。什么?你还在用 GitHub 做“公共仓库”,一不小心把公司机密代码直接推到了公开仓库?那本宫只能笑你不怕皇帝的御笔亲自审阅。今儿本宫就把全过程、踩过的坑、该避的雷全都抖出来,看完你要是还能把树莓派当烤箱用,本宫直接送你一杯冷萃。

一、先把机器从箱子里拽出来,别让它变成摆设
树莓派刚出厂时,系统默认的账号是 pi,密码是 raspberry。各位亲爱的,千万别把这套凭据直接留在外网,除非你想让全世界帮你在上面跑比特币。本宫建议先刷个最新的 Raspberry Pi OS Lite,官方etcher烧录工具一秒钟搞定,省得你在启动时看到“彩虹屏”就慌了神。刷完系统后记得用 sudo raspi-config 把文件系统扩展到整张 SD 卡,别让剩余空间白白浪费。

二、网络别卡死,SSH 记得先开
把网线插上,DHCP 会自动给树莓派分配 IP,但如果你想省事,直接在路由器里给它绑定个静态 IP,随后在 /etc/dhcpcd.conf 里写上:

interface eth0 static ip_address=192.168.1.100/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1

别忘了在 raspi-config 里把 SSH 开启,命令 sudo systemctl enable ssh 再 sudo systemctl start ssh 。SSH 一开,本宫就开始在本地终端敲敲敲,根本不需要再去找那根 HDMI 线。

三、用户管理,别让 root 直接裸奔
本宫最怕的就是有人把 root 直接开放给外网,结果被黑客一把抓。创建一个专属的 git 用户:

sudo useradd -m -s /bin/bash git sudo passwd git

然后把 git 用户加入 sudo(仅限必要),再把 SSH 公钥塞进 /home/git/.ssh/authorized_keys。公钥登录比密码安全一万倍,别让本宫在半夜醒来发现有人在跑 rm -rf / 。

四、系统更新、软件装好,别让系统变成“古董”
更新系统是最基本的安全姿势:

sudo apt update && sudo apt upgrade -y sudo apt install git nginx -y

Git 是必须装的核心,Nginx 则是后期想玩 Web 前端或做个简单的 Git 托管页面时的好帮手。若你不想要 Nginx,直接跳过也行,但本宫强烈建议先装上,留条后路。

五、创建裸仓库,这才是正事
假设你已经在 /home/git/repos 下建好了目录,接下来创建裸仓库:

cd /home/git/repos sudo mkdir myproject.git sudo git init —bare myproject.git sudo chown -R git myproject.git

注意:如果你直接在 git 用户下创建目录,别忘了把所有权改成 git,否则后面的 push 会因为权限报错。本宫可是被这坑卡了好几次,差点把代码全交给文件系统。

六、远程克隆/推送——别再让端口 22 裸着
如果你的树莓派在内网,直接用 ssh://git@192.168.1.100:22/home/git/repos/myproject.git 克隆。若你想让外网也能访问,最稳妥的办法是买一个域名,配置一个反向代理(比如 Nginx 监听 80,转发到本地的 2222)或使用 Let’s Encrypt 证书做 HTTPS。不过,别把 SSH 端口直接暴露在 22,外面的扫描机器人会天天敲门,直接把端口改成 2222:

sudo nano /etc/ssh/sshd_config Port 2222 sudo systemctl restart ssh

然后在路由器里做端口映射,指向 2222。记住,防火墙只放行必要的端口,UFW 命令示例:

sudo ufw allow 2222/tcp sudo ufw enable

七、日常维护——别让日志塞满你的 SD 卡
Git 服务器跑起来后,日志会慢慢堆积,尤其是系统日志和 Git 本身的日志。本宫建议用 logrotate 来自动切割日志,或者定期手动清理:

sudo journalctl —vacuum-time=7d

如果你想让 SD 卡寿命更长,别把太多文件放在根目录,最好把仓库放在外接的 USB 磁盘上,只把系统放在 SD 卡。挂载方式:

sudo mkdir /mnt/usb sudo mount /dev/sda1 /mnt/usb sudo chown git /mnt/usb

然后把仓库目录软链接过去:

sudo ln -s /mnt/usb/repos /home/git/repos

八、让臣妾的皇上也能玩——权限控制要细致
如果皇上(臣妾的那位)想要参与代码审查,最简便的办法是给他也建一个系统账户,然后把对应的 SSH 公钥加到 git 用户的 authorized_keys 里。若想限制只能读取不能写入,给仓库加上组权限:

sudo groupadd gitreaders sudo usermod -aG gitreaders emperor sudo chown -R git /home/git/repos/myproject.git sudo chmod -R g-w /home/git/repos/myproject.git

这样皇上可以 clone,但不能 push,简直是“御笔审阅”级别的安全。

结尾:本宫的碎碎念
别把树莓派当成玩具,它是你的私人 Git 服务器,随时随地能帮你备份代码、协作开发、甚至在上面跑个小 CI。只要记住——系统要新、用户要专属、SSH 要换端口、日志要定期清理,代码安全才有保障。今儿本宫已经把所有该踩的坑都抖了个遍,你要是还能在这条路上翻车,那只能说是命中注定要在皇宫里搬砖。好了,赶紧去把你的树莓派点亮吧,别让本宫的毒舌在评论区里等着你哭诉。​

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

2026年05月28日 | 把闲置树莓派变成私有Git服务器的完整记录
https://www.yunio.cn/posts/2026-05-28-把闲置树莓派变成私有git服务器的完整记录/
作者
媚娘
发布于
2026-05-28
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录