转载自服务器到手后的基础操作
基础更新与工具安装
apt update && apt upgrade -y
apt install -y curl wget nano git htop tmux sudo unzip
修改SSH配置
防止服务器被黑客扫爆(暴力破解)
nano /etc/ssh/sshd_config
修改端口
Port 22333 # 修改端口 (记得在防火墙放行此端口!)
PermitRootLogin yes # 如果你创建了新用户,这里建议改成 no
PasswordAuthentication yes # 如果配置了SSH密钥,这里建议改成 no
重启SSH服务
systemctl restart ssh
检查是否成功
service ssh status
设置开机启动
systemctl enable ssh
如果修改sshd_config没用,可能是因为SSH由systemd socket接管的。
检查方法
systemctl status ssh.socket
如果显示Active: active (listening)说明SSH是被Socket托管的。
解决Socket托管导致端口无法修改
# 1. 停止 socket
sudo systemctl stop ssh.socket
# 2. 禁用 socket (防止重启复活)
sudo systemctl disable ssh.socket
# 3. 重启 ssh 服务
sudo systemctl restart ssh
警告: 修改端口后,请务必先不要断开当前的 SSH 连接,新开一个终端尝试用新端口登录,确保能连上再关闭当前窗口!
开启BBR加速
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
验证是否开启: 输入 lsmod | grep bbr,如果有输出内容即成功。
配置防火墙
# 安装 UFW
apt install ufw -y
# 必须先放行 SSH 端口!否则启用后你就连不上了
ufw allow 22333/tcp
# 放行 Web 端口
ufw allow 80
ufw allow 443
# 启用防火墙
ufw enable
# 查看防火墙规则
sudo ufw status numbered
安装Docker环境
curl -fsSL https://get.docker.com | bash
# 检查是否安装成功
docker --version
docker compose version
# 启动docker
systemctl start docker
# 设置开机启动docker
systemctl enable docker
配置Fail2Ban
安装
apt update
apt install fail2ban -y
创建配置文件
Fail2Ban 有个规则:jail.conf 是默认文件,升级会被覆盖。我们需要复制一份叫 jail.local 的文件来修改。
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 修改配置文件
nano /etc/fail2ban/jail.local
修改的内容
[sshd]
enabled = true
# 注意:这里必须写您刚才修改的 SSH 端口号!
# 如果您改成了 22333,这里就填 22333
port = 8848
logpath = %(sshd_log)s
backend = %(sshd_backend)s
# 封禁时间 (单位可以是秒,也可以写 1h, 1d)
bantime = 30d
# 允许尝试次数 (输错 3 次密码就封 IP)
maxretry = 3
# 判定时间窗口 (在 5 分钟内输错 3 次)
findtime = 5m
启动并设置开机启动
systemctl start fail2ban
systemctl enable fail2ban
查看Fail2Ban运行状态
fail2ban-client status sshd
修改时区
# 查看当前时间
date -R
# 修改为上海时间 (CST)
sudo timedatectl set-timezone Asia/Shanghai
# 再次确认
date -R
设置虚拟内存 (Swap)
如果你购买的是小内存机器(如 512MB 或 1GB 内存),跑 Docker 或编译安装软件容易内存溢出导致死机。
# 一键开启 2G Swap (示例)
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# 写入开机自动挂载
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab