oracle-vps

oracle-vps

20260720

昨天(20260719)晚上撬动了龟壳,升级了账号。今天开始搞机。 不清楚最新的 always free 额度到底是多少。最后开了 1h1g amd 和 2h12g arm,两台机器。 给 amd 配置了节点,中途遇到问题,死活连不上,最后让 ai 自己在本地下载 sing-box,同时监听本地和远程服务器的日志,发现是 tm 甲骨文控制台里面还有个安全列表(没有放行 80 和 443),之前只配置了 nsg。 搞了个 cf 优选节点,结果不如 ss 直连。

还有在让 workbuddy 帮我把 cpa 转移部署到 oracle2 的过程中,DO-bodysense-deploy 服务器突然 ssh 密钥连不上了(密钥指纹变化)连接被拒绝,一开始还以为又被黑客攻击了。为了一千多个账号信息,搞了 do 的重置密码和恢复控制台(recovery console),卡的一,还会乱码,小写变大写……配置了密钥还不对,又配置允许密码登录,还不行(过了 3 个小时,ai 偶然尝试突然发现可以了)。 有了账密连接后让 ai 诊断原因,结果搞不出来,workbuddy 有点蛆啊,感觉这个问题也是它搞出来的。

20260721

oracle 连不上

突然 oracle2 就连不上了。ssh -vvv 看到 TCP 能建立(Connection established),但还没到交换 banner 就被远端关掉,报 kex_exchange_identification: Connection closed by remote host

需要从控制台连接到服务器,入口又找半天,操作半天还是没有成功。最后发现是 fail2ban 默认策略(10 分钟内 5 次失败 → 封 1 小时)误伤了我——多个 ssh -N -L 隧道并发加连续操作触发了失败计数,把自己给封了,封禁到期后才自动恢复。

诊断思路、怎么和真正的 SSH 配置故障区分、以及怎么救急,都整理到了 Fail2ban 误封导致 SSH 连接被立即关闭

oracle 安全规则的坑

tmd oracle 控制台的安全规则也有 bug,添加了规则,设置协议为 SSH,但是他妈一保存之后却变成了 TCP。

[!tip] ai 说 好像没问题,ssh 就是 tcp 协议的。

Cloud Shell 救援尝试(失败但记录)

本来想从 Oracle 网页或 Cloud Shell 走控制台连接进机器看状态,结果一路踩坑:oci iam compartment list 查不到根 compartment、参数名是 --ssh-public-key-file 不是 --public-key-file、Cloud Shell 的老 OpenSSH 不认新算法参数名、串口控制台对无密码的 ubuntu 用户根本登不进去、VNC 又需要本地客户端起隧道。

最后放弃救援,直接在 Cloud Shell 里 oci compute instance action --action SOFTRESET 重启实例。fail2ban 封禁不持久化,重启即清,SSH 恢复。

完整流程和每个坑的细节在 OCI 控制台连接 CLI 踩坑,恢复方法本身在 使用控制台连接恢复 OCI 实例

事后加固

既然 root 暴力扫描每分钟都在敲,干脆把 SSH 加固了一遍:禁 root 和密码登录、限制并发连接,fail2ban 放宽阈值加白名单,再上 recidive 对累犯加重。中途还踩了个坑——fail2ban 配置写在 jail.local 里不生效,因为 jail.d/*.conf 优先级更高会覆盖。

完整加固顺序和回滚方法在 安全加固 OCI Linux 服务器,fail2ban 的阈值取舍和 jail.d 优先级坑在 Fail2ban 误封导致 SSH 连接被立即关闭

换端口又把自己坑了

想着把 SSH 从 22 换到 1688 更隐私,结果改完 sshd 的 socket 直接 failed,报 Address already in use。原来是 Ubuntu 24.04 的 systemd 会从 sshd_config 的 Port 指令自动生成 socket 配置,我又手动建了个 override,两边 ListenStream 重复了。还好当时有一个已经连上的 SSH 会话当救命稻草,删掉 override、daemon-reload 之后才缓过来。

这个坑单独记在 Ubuntu 24.04 改 SSH 端口的 socket activation 陷阱

接入 Tailscale

考虑到家庭服务器之前也用 Tailscale 组网,我倾向直接用它做远程访问,绕开公网端口和打洞不稳定的问题。先实施阶段一:保持 22 和 1688 双端口 SSH 与 Tailscale 并存,等稳定后再考虑只走 Tailscale。

接入流程、认证和分阶段收敛入口的思路在 在 OCI VPS 上接入 Tailscale 做远程访问

VPS 加固系列(TODO)

后面要搞一个 VPS 加固系列笔记,把 SSH 加固、fail2ban 调优、防火墙、自动更新、救援通道这些串起来,让 AI 查一下就能优雅快速地给新机器做加固。今天踩的坑(Cloud Shell 救援、fail2ban 误封、jail.d 优先级、改端口 socket 冲突)都已经拆成原子笔记,可以作为这个系列的素材。

[!info] related notes

创建于 2026/7/20 更新于 2026/7/21