
每次新开一台服务器,我都会按同一套流程走一遍。不是什么高深操作,但漏掉任何一步,后面都可能变成麻烦。整理成清单,也方便自己照着抄。
1. 更新系统
sudo apt update && sudo apt upgrade -y
sudo reboot # 有内核更新就重启一次
2. 建一个非 root 用户
adduser deploy
usermod -aG sudo deploy
之后所有操作都用这个账号,root 只通过 sudo 用。
3. 配 SSH 密钥并禁用密码
这一步在《SSH 加固实战》里展开写过,核心是先配密钥、验证能登录,再关密码:
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@服务器IP
# 验证能登录后再改:
# PermitRootLogin no
# PasswordAuthentication no
4. 开防火墙
默认拒绝,按需放行:
sudo ufw default deny incoming
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow from 你的IP to any port 22
sudo ufw enable
注意:如果用 Docker,容器发布的端口可能绕开 UFW,需要额外处理——要么绑 127.0.0.1,要么改 DOCKER-USER 链。
5. 设置时区和 NTP
时间不对会导致证书校验失败、日志对不上、定时任务跑偏。
sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-ntp on
timedatectl status
6. 改个认得出来的主机名
sudo hostnamectl set-hostname web-01
在多台机器之间跳的时候,能一眼看出自己在哪台。
7. 装常用工具
sudo apt install -y curl wget git vim htop tmux rsync unzip fail2ban
8. 配 swap(小内存机器)
1GB 内存的机器编译东西或跑构建很容易 OOM,加一点 swap 兜底:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
9. 开自动安全更新
手动打补丁这事,久了一定会忘。
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
10. 想清楚备份
最容易被跳过、也最要命的一步。上线前就该定好:
- 备份什么(配置文件、数据卷、数据库)
- 备到哪(另一台机器或对象存储,别放同一块盘)
- 多久一次
- 恢复怎么操作——没演练过的备份等于没有
上线前最后确认
sudo ufw status # 防火墙规则对不对
sudo sshd -T | grep passwordauthentication # 密码关了没
timedatectl # 时区时间对不对
df -h # 磁盘够不够
小结
这十件事做完大概半小时,换来的是后面不用半夜救火。清单本身不复杂,难的是每台机器都认真走一遍——所以才值得写下来照着抄。
原创
新服务器到手,我会先做的十件事
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法