第一小时该做什么
新机器简短检查清单:更新、SSH 密钥、独立用户、防火墙、时间、guest agent 以及首次数据备份。
更新于 2026年8月23日
机器从第一分钟起就暴露在公网中。现在花半小时做好配置,日后就不必在遭到入侵后翻查漏洞。
1. 更新系统
apt update && apt upgrade -y
reboot
在 AlmaLinux 和 CentOS Stream 上,请使用 dnf upgrade -y。如果内核已更新,则需要重启。
2. 添加 SSH 密钥
密码只是临时的登录方式。请在本地生成密钥,然后在“访问”选项卡的“SSH 密钥”子栏目中添加:该列表会被整体替换,因此请提交完整的密钥集合。详情请参阅 SSH 密钥。
保存密钥会重启正在运行的机器:密钥会在启动时由初始配置应用。在开服后的第一个小时内这没有任何代价,之后则意味着停机——这正是密钥排在清单第二位的原因。
在 Windows Server 上,SSH 密钥完全不可用:在那里您需要通过 RDP 使用密码登录,因此请跳过此步骤,改用 RDP 防护。
请先确认基于密钥的登录可用,然后再禁用密码:
nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin prohibit-password
systemctl restart ssh
在从新窗口验证密钥登录成功之前,请勿关闭当前会话。如果您把自己锁在外面,控制面板中的文本控制台可以救您。
3. 创建普通用户
您不应一直以 root 身份工作:rm 中的一个笔误就会让您失去整台机器。
adduser artem
usermod -aG sudo artem
mkdir -p /home/artem/.ssh
cp /root/.ssh/authorized_keys /home/artem/.ssh/
chown -R artem:artem /home/artem/.ssh
chmod 700 /home/artem/.ssh
chmod 600 /home/artem/.ssh/authorized_keys
在 AlmaLinux 上,该组名为 wheel,而不是 sudo。
4. 启用防火墙
apt install -y ufw
ufw allow OpenSSH
ufw enable
ufw status
按需开放端口:ufw allow 80/tcp、ufw allow 443/tcp。其余端口请保持关闭。
5. 检查时间和机器名
timedatectl set-timezone Europe/Moscow
hostnamectl set-hostname my-vds
时间错误会破坏证书、日志和计划任务。
6. 确认 guest agent 正在运行
控制面板需要它来显示已用空间并执行软重启:
systemctl status qemu-guest-agent
如果该服务不存在:
apt install -y qemu-guest-agent && systemctl enable --now qemu-guest-agent
7. 配置您自己的备份
系统不提供自动机器备份或快照——这是您的责任。请从第一天起养成习惯:导出数据库、打包项目目录,并把所有内容发送到异地,而不是留在同一台机器上。
tar czf /root/backup-$(date +%F).tar.gz /var/www /etc/nginx
您可以使用 scp 或 rsync 将副本拉取到自己的机器上。
检查清单
- 系统已更新
- SSH 密钥已添加并验证
- 密码登录已禁用
- 已创建具有 sudo 权限的用户
- 防火墙已启用,多余端口已关闭
- 时区和机器名已设置
- guest agent 正在运行
- 已完成首次备份并存储在机器之外
接下来——快速开始:15 分钟搭建一个网站。