Linux 服务器怎么修改 SSH 端口
SSH 是 Linux 服务器最常用的远程登录方式,默认端口通常是 22。由于 22 端口经常被扫描器和爆破工具盯上,所以很多站长会把 SSH 端口改成一个不常见的高位端口,以减少无效攻击。
一、修改前准备
修改 SSH 端口前,一定要先确认两件事:
1. 新端口没有被其他程序占用
2. 防火墙和云服务器安全组已经放行新端口
例如准备把 SSH 端口改成:
22222
可以先检查端口是否被占用:
ss -tunlp | grep 22222
如果没有输出,一般说明端口未被占用。
二、编辑 SSH 配置文件
使用 root 用户或 sudo 权限编辑 SSH 配置:
vim /etc/ssh/sshd_config
找到:
#Port 22
修改为:
Port 22222
如果没有这一行,也可以手动添加。
注意:# 代表注释,如果前面有 #,需要去掉。
三、放行新 SSH 端口
如果使用 ufw:
ufw allow 22222/tcp
ufw reload
如果使用 firewalld:
firewall-cmd --permanent --add-port=22222/tcp
firewall-cmd --reload
如果是云服务器,还需要到云厂商控制台的安全组里放行 TCP 22222 端口。
四、重启 SSH 服务
不同系统服务名可能不同,可以尝试:
systemctl restart sshd
或者:
systemctl restart ssh
查看 SSH 服务状态:
systemctl status sshd
五、测试新端口是否能登录
不要关闭当前 SSH 窗口,新开一个终端测试:
ssh -p 22222 root@服务器IP
如果可以正常登录,说明修改成功。
六、确认无误后再关闭旧连接
确认新端口能登录后,再关闭旧 SSH 窗口。这样可以避免配置错误导致自己无法连接服务器。
七、常见问题
1. 修改后连接不上
可能原因:
新端口没有放行
云服务器安全组没开放
SSH 配置写错
SSH 服务重启失败
端口被其他程序占用
可以通过云厂商 VNC/救援终端进入服务器检查。
2. sshd_config 里有多个 Port
如果配置文件里有多个 Port,建议只保留一个,避免混淆。
3. SELinux 导致端口无法使用
部分 CentOS/RHEL 系统可能需要额外允许 SSH 使用新端口:
semanage port -a -t ssh_port_t -p tcp 22222
如果提示没有 semanage,可以安装:
yum install policycoreutils-python-utils -y
总结
修改 SSH 端口的核心步骤是:
检查端口 → 放行端口 → 修改 sshd_config → 重启 SSH → 测试登录
最重要的一点是:修改前一定要先放行新端口,并保留当前 SSH 连接,确认新端口能登录后再退出。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END








暂无评论内容