博客

SSH 密钥加固

公网 VPS 最常见入口是 root 密码爆破,第一件事就是关掉。

顺序:先确认密钥能登录,再关密码,否则会锁死自己。

/etc/ssh/sshd_config(或 drop-in):

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password

sshd -t 校验、systemctl reload ssh 生效。配合 fail2ban 封扫描噪音。本机 SSH 在非标准端口 37362

常用命令小抄

uptime; free -h; df -h           # 系统状态
du -sh * | sort -h               # 占用排序
ss -tlnp                         # 监听端口
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head   # CPU 排名
mtr <host>; vnstat -m; nethogs eth0             # 网络

systemd 服务管理

systemctl status/restart/enable --now <svc>
journalctl -u <svc> -n 50 -f

Drop-in 覆盖(不改主 unit):

mkdir -p /etc/systemd/system/<svc>.service.d
# override.conf 里 ExecStart= 清空再重设
systemctl daemon-reload && systemctl restart <svc>

非 root 绑 <1024 端口需 …

从零搭起这个博客

整套跑在一台 VPS 上:Hugo 生成静态页(服务器零负载)、Caddy 反代+自动 HTTPS、域名一条 A 记录指过来。静态站没数据库没后端,没东西可被黑,还快——对小内存 VPS 尤其友好。

性能排查思路

核心是逐层隔离

  • CPU 高:ps --sort=-%cpu 找元凶
  • 内存:free -h,区分 used 与可回收的 buff/cache
  • 磁盘满:ncdu /journalctl --vacuum-size=100M
  • 网络慢:iperf3 测网络、fio 测磁盘,都不慢就是上层协议

换了台更大的 VPS

旧机 960MB 内存换成了 2GB 内存 / 30GB 盘 的新机。一天之内重做:SSH 密钥加固、Shadowsocks(带 BBR 调优)、Caddy、Beszel 监控、这个博客。详见 VPS 自托管 章节。