HCRM博客

如何在CentOS中修改SSH端口?

在CentOS系统中,SSH(Secure Shell)是一种用于远程登录和管理服务器的安全协议,默认情况下,SSH服务监听22端口,这使得服务器容易受到暴力破解攻击,为了提高安全性,可以修改SSH的默认端口,本文将详细介绍如何在CentOS中修改SSH端口,并确保修改后的端口正常工作。

准备工作

在进行任何配置更改之前,建议先备份相关配置文件,以防出现意外情况,可以使用以下命令备份SSH配置文件:

如何在CentOS中修改SSH端口?-图1
(图片来源网络,侵权删除)
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

修改SSH配置文件

1、编辑SSH配置文件

使用文本编辑器打开/etc/ssh/sshd_config文件:

   vim /etc/ssh/sshd_config

2、添加新端口

找到文件中的#Port 22行,将其前面的#去掉,并将22改为你想要的新端口号,将端口改为2020:

   Port 2020

注意:不要删除原来的Port 22行,而是保留它,这样,如果新端口出现问题,你仍然可以通过22端口进行连接。

3、保存并退出

如何在CentOS中修改SSH端口?-图2
(图片来源网络,侵权删除)

保存修改并退出编辑器,对于vim,可以使用以下命令:

   :wq

4、重启SSH服务

为了使更改生效,需要重启SSH服务:

   systemctl restart sshd.service

配置防火墙规则

1、启动防火墙服务

确保防火墙服务已经启动:

   systemctl start firewalld.service

2、添加新端口到防火墙规则

如何在CentOS中修改SSH端口?-图3
(图片来源网络,侵权删除)

使用以下命令将新端口添加到防火墙规则中:

   firewallcmd zone=public addport=2020/tcp permanent

3、重新加载防火墙规则

使更改生效:

   firewallcmd reload

验证修改是否成功

1、检查防火墙规则

确认新端口已经被添加到防火墙规则中:

   firewallcmd zone=public listports

2、测试新端口连接

使用SSH客户端尝试通过新端口连接到服务器:

   ssh p 2020 your_username@your_server_ip

如果能成功连接,说明修改成功,可以返回SSH配置文件,注释掉原来的Port 22行:

   #Port 22

再次重启SSH服务:

   systemctl restart sshd.service

五、向SELinux中添加修改的SSH端口(可选)

如果你的系统启用了SELinux,还需要将新端口添加到SELinux策略中,否则,即使防火墙和SSH配置正确,连接也可能被拒绝。

1、安装SELinux管理工具

如果尚未安装,可以使用以下命令安装:

   yum install policycoreutilspython y

2、查询当前SSH服务端口

查看当前SSH服务的端口:

   semanage port l | grep ssh

3、添加新端口到SELinux

将新端口添加到SELinux策略中:

   semanage port a t ssh_port_t p tcp 2020

4、验证添加结果

确认新端口已经添加到SELinux策略中:

   semanage port l | grep ssh

5、重启SSH服务

重启SSH服务以应用更改:

   systemctl restart sshd.service

常见问题及解决方案

1、防火墙规则未生效

如果防火墙规则未生效,可以尝试手动重启防火墙服务:

   systemctl restart firewalld.service

2、SELinux阻止连接

如果SELinux阻止了新的SSH端口连接,确保按照上述步骤将新端口添加到SELinux策略中。

3、无法通过新端口连接

如果无法通过新端口连接,首先检查防火墙和SELinux配置是否正确,确认SSH服务是否正常运行:

   systemctl status sshd.service

修改SSH默认端口是提高服务器安全性的重要步骤之一,以下是一些最佳实践建议:

1、选择非标准端口

选择一个大于1024且小于65535的非标准端口,以减少被扫描的风险。

2、定期更换端口

定期更换SSH端口,以进一步提高安全性。

3、使用密钥认证

除了修改端口外,建议使用SSH密钥认证代替密码认证,以增强安全性。

4、限制登录尝试次数

配置SSH服务,限制登录尝试次数,防止暴力破解,可以在/etc/ssh/sshd_config中添加以下配置:

   MaxAuthTries 3

5、监控登录日志

定期检查/var/log/secure日志,监控异常登录尝试。

FAQs

Q1: 修改SSH端口后无法连接怎么办?

A1: 如果修改SSH端口后无法连接,首先检查以下几点:

确保防火墙规则已正确添加新端口。

确保SELinux策略已包含新端口(如果启用了SELinux)。

确认SSH服务正在运行,并且配置文件中没有语法错误。

如果仍然无法连接,可以尝试暂时恢复默认的22端口,确保基本连接正常,然后再逐步排查问题。

Q2: 如何更改回默认的SSH端口?

A2: 如果需要将SSH端口改回默认的22,可以按照以下步骤操作:

1、编辑/etc/ssh/sshd_config文件,将Port 2020改为#Port 2020,并将#Port 22改为Port 22

2、保存并退出编辑器。

3、重启SSH服务:systemctl restart sshd.service

4、如果之前添加了新的防火墙规则和SELinux策略,记得移除它们或将它们恢复到默认状态。

分享:
扫描分享到社交APP
上一篇
下一篇