每次拿到新 VPS 都要做一遍同样的事,整理成清单备用。
1. 更换 root 密码
拿到机器第一件事:
passwd
2. 更新系统
# Debian/Ubuntu
apt update && apt upgrade -y
# 安装常用工具
apt install -y curl wget git vim htop ufw fail2ban
3. 创建普通用户
不要直接用 root 操作:
adduser waawo
usermod -aG sudo waawo
# 切换到新用户
su - waawo
4. 配置 SSH 密钥登录
在本机生成密钥(如果还没有的话):
ssh-keygen -t ed25519 -C "your@email.com"
把公钥上传到服务器:
ssh-copy-id waawo@your-server-ip
或者手动复制 ~/.ssh/id_ed25519.pub 内容到服务器的 ~/.ssh/authorized_keys。
5. 禁用 SSH 密码登录
确认密钥登录正常后,再修改 /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
Port 22222 # 可选:改掉默认端口
systemctl restart sshd
注意: 修改前一定确认密钥登录已经可以用,否则会把自己锁在外面。
6. 配置防火墙
用 ufw 简单配置:
ufw default deny incoming
ufw default allow outgoing
ufw allow 22222/tcp # SSH(换了端口的话)
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status
7. 配置 fail2ban
防止 SSH 暴力破解:
# 默认配置已经包含 SSH 保护,启动就行
systemctl enable --now fail2ban
# 查看封禁状态
fail2ban-client status sshd
8. 调整时区
timedatectl set-timezone Asia/Shanghai
timedatectl status
9. 配置 swap
1GB 内存的小机器建议开 swap:
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# 写入 fstab 永久生效
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# 调整 swappiness(默认 60,低内存机器可以调高)
echo 'vm.swappiness=80' >> /etc/sysctl.conf
sysctl -p
10. 设置主机名
hostnamectl set-hostname my-server
做完这些基本就可以正常使用了。后续根据需要再装 Docker、Nginx 等服务。