在 CentOS 上替换(修改)SSH 端口,一般按下面步骤操作(以 CentOS 7 / 8 / Stream 为例):
vi /etc/ssh/sshd_config
#Port 22
2222:Port 2222
✅ 建议先保留
22,新增一行Port 2222,测试成功后再删掉 22
CentOS 默认开启 SELinux,需要放行新端口:
semanage port -a -t ssh_port_t -p tcp 2222
若提示 semanage 不存在:
yum install policycoreutils-python-utils -y
查看是否生效:
semanage port -l | grep ssh
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
确认:
firewall-cmd --list-ports
systemctl restart sshd
不要断开当前连接,新开一个终端测试:
ssh -p 2222 user@服务器IP
✅ 能登录 → 修改成功
❌ 不能登录 → 检查防火墙 / SELinux / 配置
确认新端口可用后,编辑:
vi /etc/ssh/sshd_config
删除或注释:
#Port 22
然后:
systemctl restart sshd
firewall-cmd --permanent --remove-port=22/tcp
firewall-cmd --reload
sshd 是否启动、netstat -tunlp | grep sshd如果你告诉我 CentOS 具体版本 或 是否是云服务器,我可以给你更精确的操作步骤。