该改 SSH 端口吗?
把 SSH 从 22 端口挪走值得做,理由只有一个诚实的:它大幅减少机器人狂锤 22 端口的噪音,让你的日志能读了。它不是真正的安全——这是"靠隐蔽求安全",有备而来的攻击者扫一下就找到新端口。所以挪它是为了降噪,别把它当成保护。真正的保护是 SSH 密钥 + 关闭密码登录(密钥 vs 密码)。本文讲诚实的取舍和怎么做。
挪端口能做什么、不能做什么
- 能:挡掉广泛互联网扫描带来的持续暴力登录尝试,于是
auth.log不再是一墙失败的 root 登录。对清净和 fail2ban 的信噪比是真的好。 - 不能:挡不住有针对性的攻击者——端口扫描几秒就找到新端口。一旦有人能到达这个服务,它也帮不上任何忙。
如果你的服务器在 Tailscale 网里、根本不暴露到公网,那其实不必改端口——一开始就没有不可信的东西能到达 SSH。见 iPhone 上的 Tailscale。
怎么改 SSH 端口
- 改配置:在
/etc/ssh/sshd_config里设Port 2222(选任意 1024 以上、空闲的端口)。 - 重启前先在防火墙开放它,否则你会把自己锁在外面:
sudo ufw allow 2222/tcp(新端口可用后再移除 22)。 - 重启 SSH:
sudo systemctl restart ssh。 - 用新端口重连——保持当前会话开着,在第二个连接里测新端口,确认可用再关旧的。
关键:绝不要在没先在防火墙开放新端口的情况下重启 SSH;并且一定要在旧会话还活着时、用第二个会话测新端口。把自己锁在远程盒子外面是这里的经典翻车。
从手机做
整件事都能在移动 SSH 客户端里完成:用 SFTP(或终端里 nano)编辑 sshd_config,然后在连接的"端口"字段填新端口号重连。如果不确定你这个发行版的确切防火墙命令,问 TermAI 助手——"在防火墙开放 2222 端口"——运行前先复核它给的命令。
真正让 SSH 安全的是什么
改端口是真正几步里最不重要的。按影响力排序:
- 密钥认证,然后
PasswordAuthentication no——彻底干掉密码攻击。 - 禁用 root 登录——
PermitRootLogin no;用普通用户登录再sudo。 - fail2ban——多次失败后封 IP。
- 干脆不暴露 SSH——放到 Tailscale/WireGuard 后面,只有你的设备能到达。
- 然后,可选,改端口——为了日志清净。
常见问题
改 SSH 端口能提升安全吗?
只有一点点。它减少自动扫描噪音,但挡不住有针对性的攻击者。真正的安全来自密钥、关闭密码登录、不把 SSH 公开暴露。
SSH 该挪到哪个端口?
任意 1024 以上的空闲端口(如 2222)。避开常见服务端口。同步更新防火墙。
怎么避免把自己锁在外面?
重启 SSH 前先在防火墙开放新端口,并在旧会话还连着时用第二个会话测新端口。
快速事实
- 改端口:减少机器人噪音;是隐蔽,不是真安全
- 怎么做:
sshd_config里Port→ 防火墙开放 → 重启 → 新端口重连 - 别锁自己:先开防火墙、用第二个会话测
- 真安全:密钥 +
PasswordAuthentication no+ 禁 root + 放 Tailscale 后
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.