每次拿到新 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 等服务。