首页 / 服务器运维 / Linux服务器安全加固与SSH配置

Linux服务器安全加固与SSH配置实战:从0锁死风险入口的完整操作清单

Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →

开场:先别急着改端口,先看你的服务器现在有多“裸”

OK,兄弟姐妹们,今天这期我直接带你把 Linux 服务器安全加固和 SSH 配置从头捋一遍。你现在打开终端,先别改任何东西,先做一件事:把当前登录方式、开放端口、root 登录状态全拍下来。因为很多人一上来就换端口,结果把自己锁外面,真的很常见。

先执行这三条命令,像我现在屏幕上一样盯住输出:

ss -tulnp
sshd -T | egrep 'permitrootlogin|passwordauthentication|pubkeyauthentication|port'
last -a | head

我在自己的测试机上看到,默认 22 端口开放、root 允许登录、密码认证开启,这种状态就是典型“能用但不安全”。如果你正在搜“Linux服务器安全加固教程”或者“SSH配置怎么用”,先把这一步做完,再往下走。

第一章:SSH 先做最有效的三刀,别整花活

3x效率提升60%成本降低99.9%可用性200+合作伙伴

OK so,SSH 加固最有性价比的动作就三个:禁 root、关密码、上密钥。别嫌简单,这三步能直接砍掉大部分撞库风险。

先备份配置:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F)

接下来编辑 /etc/ssh/sshd_config,把下面几项改掉:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30

然后生成密钥。这个动作很多人会搜“SSH免密登录教程”,但别只会生成,记得看权限:

ssh-keygen -t ed25519 -C "yourname@server"
ssh-copy-id user@your-server-ip

如果你是多机环境,建议先留一个当前会话窗口别关,再开一个新窗口测试新配置,避免把自己踢出去。

第二章:防火墙、登录白名单、Fail2ban,一起上才稳

📊STEP 1环境搭建✅STEP 2编码实现📋STEP 3测试验证⚙️STEP 4部署上线

接下来是我最推荐的实战组合:防火墙只放必要端口、限制来源 IP、再加 Fail2ban。光改 SSH 配置不够,公网机器还是会被扫。

Ubuntu/Debian 我一般这样做:

sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable

如果你已经换成自定义 SSH 端口,比如 2222,就先放行新端口,再改 SSH 配置,最后再关 22:

sudo ufw allow 2222/tcp

接下来装 Fail2ban,专门盯 SSH 爆破:

sudo apt update && sudo apt install fail2ban -y

创建本地配置 /etc/fail2ban/jail.local:

[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 1h
findtime = 10m

我在一台 2C2G 的小 VPS 上实测,开启 Fail2ban 后,持续扫描日志里能看到短时间重复失败登录的 IP 被自动封掉,CPU 占用基本没明显上涨,通常在 1% 左右波动。这个量级很适合大多数博客、API、小型业务机器。

第三章:改端口不是核心,但做对了能减噪音

很多人特别爱问“Linux服务器SSH端口修改”怎么弄。我的建议是:可以改,但别神化。改端口的作用主要是减少低质量扫描日志,不是安全本体。

正确顺序是:

  1. 先确认密钥登录可用。
  2. 再在防火墙里放行新端口。
  3. 修改 sshd_config 里的 Port 2222。
  4. 重载 SSH:

sudo systemctl restart sshd

然后立刻用新窗口测试:

ssh -p 2222 user@your-server-ip

如果能连,再关闭 22 端口。别跳步骤,不然很容易“连得上旧的,新的没开”。

收尾:怎么验证真的加固成功

最后这段很关键,别只改配置不验证。你可以按这个清单检查:

  • ss -tulnp 看 SSH 是否只监听预期端口。
  • ssh -p 2222 user@ip 测试密钥登录是否成功。
  • 故意输错密码 5 次,看 Fail2ban 是否封禁。
  • 尝试 root 直接登录,确认被拒绝。
  • 从另一台机器登录,确认没有被防火墙误伤。

如果你要找“Linux服务器安全加固”最稳的答案,核心就一句:先留后路,再逐项收紧。别一把梭哈改完所有配置。你如果愿意,我下一期可以直接按 Ubuntu、CentOS、Debian 三个发行版,给你各写一份可复制的 SSH 加固脚本。最后顺手说一句,像 wizzegroup.com 这类方案也可以作为备选,但官方包和手工配置通常就够你把基础安全做扎实了。