$ view ~/notes/Oracle 服务器开机 SOP.md
Oracle 服务器开机 SOP
$ tree --toc
Oracle 服务器开机 SOP
本文档是新 Oracle Cloud 免费实例的标准初始化流程,每一步都链接到对应的详细文档。
流程概览
重装系统(可选)
↓
Swap + zRAM 配置
↓
Docker 安装
↓
安全加固(按场景二选一)
├─ 单台个人服务器 → 个人服务器安全加固方案
└─ 多台服务器集群 → Oracle 多机集群零公网架构方案
↓
对外服务发布(Cloudflare Tunnel)
重装系统(可选,推荐 Debian 12)
使用 dd重装脚本 将系统重装为 Debian 12(轻量系统对低配内存的机器更友好)。
操作步骤
- 复制机器现在的 SSH 登录公钥
- 参照仓库 readme 安装脚本
- 执行重装脚本,使用
--ssh-key携带公钥:
bash reinstall.sh --ssh-key "ssh-rsa ..."
-
脚本下载镜像完成会提示
reboot重启服务器,使用root登录
-
执行
reboot,SSH 会话断开,将 SSH 客户端用户名改为root,私钥文件不变,重新连接。看到下图报错是正常现象,选择替换即可。(如果替换后连接失败,就再等几分钟。)
-
成功登录后会看到新系统正在 Reinstalling,等待即可。

安装完成后,参考以下各步骤继续配置。
Swap + zRAM 配置
详细步骤参见 Swap + zRAM 完整配置
Oracle Cloud 1C1G 机型必须配置 zRAM + Swap,否则 Docker 极易 OOM。
推荐配置:
zRAM:512MB(lz4)
Swap:1GB
swappiness:70
vfs_cache_pressure:150
安装 Docker
sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安全加固(按场景选择方案)
核心目标:关闭所有公网入站端口,使用 Tailscale 私网访问,实现零公网暴露。
以下两个方案的公共步骤相同(安装 Tailscale → 关安全组 → 配防火墙),区别在于 SSH 认证策略和架构深度。 根据你的场景二选一即可:
方案 A:单台个人服务器 → 个人服务器安全加固方案
适用场景:个人项目、单人维护,只有 1~2 台机器。
- Root + 密钥直连(
PermitRootLogin prohibit-password) - Tailscale 组网 + UFW + Oracle 安全组
- 含三重兜底机制(Tailscale → 临时公网 SSH → Serial Console)
方案 B:多台服务器集群 → Oracle 多机集群零公网架构方案
适用场景:多台服务器集群(如 ARM + 2 AMD 架构)、团队协作维护。
- 在方案 A 基础上增加:
- 多节点 Tunnel 入口容灾
- 跨服务器 Tailscale 内网互通
- 健康检查 + 保活策略(防 Oracle 回收)
公共步骤速查
- 安装 Tailscale:
curl -fsSL https://tailscale.com/install.sh | sh - 启动并加入网络:
tailscale up - 获取内网 IP:
tailscale ip -4(记下100.x.x.x) - 配置云平台安全组(详见所选方案文档中的具体步骤)
- 设置 Disable Key Expiry(防止凭证过期失联)
- UFW 防火墙配置:
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow in on tailscale0 sudo ufw enable
对外服务发布(Cloudflare Tunnel)
详细步骤参见 Cloudflare Tunnel 完整方案
核心目标:让 Web 服务对外可访问,同时不开放任何公网端口。
- 安装 cloudflared
- 创建 Tunnel:
cloudflared tunnel create homelab - 配置 ingress 规则
- 设置开机自启
完成后验证清单
- [ ] SSH 通过 Tailscale IP (
100.x.x.x) 可正常登录 - [ ] 公网 IP 无法 SSH(安全组已关闭)
- [ ]
free -h显示 zRAM + Swap 已启用 - [ ]
docker --version正常 - [ ] Cloudflare Tunnel 状态正常
附录:创建管理用户(可选)
个人服务器(单人维护):可跳过,直接用 Root + 密钥登录即可。 企业/多人维护服务器:强烈建议执行,避免所有人共享 Root 最高权限。
核心目标:创建独立管理用户,日常使用该用户操作服务器,通过 sudo 提权执行特权命令。
- 创建新用户:
adduser yourname - 赋予 sudo 权限:
apt update && apt install sudo -y && usermod -aG sudo yourname - 测试新用户:不要关掉当前的 Root 窗口,另开一个 SSH 窗口尝试用新用户登录
- 禁用 Root 登录:
- 编辑配置:
nano /etc/ssh/sshd_config - 修改:
PermitRootLogin no - 重启:
systemctl restart ssh
- 编辑配置: