Linux 服务器怎么修改 SSH 端口

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
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容