博客
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 自托管 章节。