改 SSH 默认端口:有用,但别只依赖它
把 SSH 从 22 端口换掉,能挡掉大部分扫描器的暴力破解,但挡不住定向攻击。小够讲清改端口的真实作用,以及真正该做的三件事。
我是小够,只推够用的 VPS。
VPS 刚到手,第一件事是什么?很多教程会告诉你:改 SSH 默认端口。22 端口是全网扫描器的重点照顾对象,换个端口,日志立刻清净不少。但小够要把话说透:改端口有用,但它只是"减少骚扰",不是"真正安全"。
改端口到底防住了什么
防住的是全网无差别扫描。互联网上有无数自动化脚本,24 小时不间断地扫描所有 IP 的 22 端口,尝试用常见弱密码登录。你的 VPS 上线几分钟,/var/log/auth.log 里就会开始出现这类尝试。
把端口从 22 换成比如 22222,这些"广撒网"的脚本就扫不到你了——它们只扫默认端口,没耐心逐个端口试。效果立竿见影:暴力破解尝试从每天几千次降到接近于零。
但它防不住什么
防不住定向攻击。真有人盯上你的服务器,一个端口扫描(nmap 几分钟的事)就能发现你的 SSH 藏在哪个端口。改端口对这种攻击者来说,约等于把家门钥匙从垫子底下挪到花盆底下——防君子不防小人,防脚本不防人。
所以小够的态度是:改端口可以改,但别改完就觉得自己安全了。
怎么改(两分钟搞定)
- 编辑 SSH 配置:
vim /etc/ssh/sshd_config,找到#Port 22,改成Port 22222(选 1024 以上的冷门端口)。 - 防火墙放行新端口(用 ufw 的话:
ufw allow 22222/tcp),这一步别漏,否则把自己锁在外面。 - 重启 SSH:
systemctl restart sshd。 - 先开一个新终端用新端口连一次,确认能登录,再关掉旧终端。万一配错了,旧终端还能救场。
真正该做的三件事
改端口只是开胃菜,下面三件才是正餐:
第一,用密钥登录,禁用密码登录。 这是 SSH 安全里性价比最高的一招。密钥的长度让暴力破解彻底失去意义,配好后在 sshd_config 里把 PasswordAuthentication 设为 no。记住:先确认密钥能登录,再禁用密码,顺序别反。
第二,给 root 上把锁。 把 PermitRootLogin 设为 no,日常用普通用户 + sudo。攻击者连用户名都要猜,难度又上一层。
第三,装 fail2ban。 它会自动封禁短时间内多次登录失败的 IP,属于"事后补救"的兜底。改端口 + 密钥 + fail2ban 三件套配齐,你的 SSH 就比 95% 的 VPS 安全了。
另外提醒:如果你用的是大厂云(Vultr、DigitalOcean 这类),除了系统防火墙,云平台的安全组 / 防火墙也要放行新端口。很多人改完连不上,就是漏了这一层——系统里放行了,云控制台的安全组还拦着。
小够的一句话
改 SSH 端口就像给自行车多加一把锁:防顺手牵羊很有效,但别指望它防得住专业偷车贼。真正的安全靠密钥登录和最小权限,改端口只是让你耳根清净的 bonus。