5154

Good Luck To You!

CentOS 7.5更换SSH默认端口22的详细步骤是?

在CentOS 7.5系统中更改服务的默认端口是一项基础且重要的安全加固措施,通过修改端口,可以有效减少自动化扫描和暴力破解攻击的风险,本文将以最常用的SSH服务为例,详细阐述在CentOS 7.5中更换端口的完整流程,并辅以其他服务的参考信息。

CentOS 7.5更换SSH默认端口22的详细步骤是?

准备工作:备份与规划

在进行任何核心配置修改之前,首要任务是备份相关的配置文件,这可以确保在操作失误时能够迅速恢复系统原状,对于SSH服务,其主配置文件为/etc/ssh/sshd_config,建议使用以下命令进行备份:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

请规划好您要使用的新端口号,建议选择一个大于1024且未被其他服务占用的端口号,例如2222,您可以使用netstat -tunlpss -tunlp命令来查看当前系统已被占用的端口列表。

核心步骤:以SSH服务为例

更换SSH端口主要涉及修改配置文件、调整防火墙规则以及更新SELinux策略三个核心环节。

修改SSH配置文件

使用文本编辑器(如vinano)打开SSH配置文件:

vi /etc/ssh/sshd_config

在文件中找到#Port 22这一行,默认情况下,该行被注释掉,您有两个选择:一是直接取消注释并将22修改为新端口号;二是保留22,同时在新的一行添加您的新端口,这样可以确保新端口配置生效前,旧端口依然可用,防止被锁在系统外。

推荐采用第二种方式,更为稳妥:

#Port 22
Port 2222

保存并退出编辑器。

CentOS 7.5更换SSH默认端口22的详细步骤是?

配置防火墙

CentOS 7.5默认使用firewalld作为防火墙管理工具,必须将新端口添加到防火墙的允许规则中,否则外部无法访问。

# 添加新端口到public区域(永久生效)
firewall-cmd --zone=public --add-port=2222/tcp --permanent
# 重新加载防火墙配置,使规则生效
firewall-cmd --reload

执行完毕后,可以使用firewall-cmd --zone=public --list-ports来确认新端口是否已成功添加。

更新SELinux策略

如果系统的SELinux处于强制(Enforcing)模式,它同样会限制服务只能在其预定义的安全端口上运行,需要为SSH服务添加新的端口许可。

确保已安装semanage命令工具,该工具包含在policycoreutils-python包中:

yum install policycoreutils-python -y

使用semanage为新端口添加SSH服务上下文:

semanage port -a -t ssh_port_t -p tcp 2222

可以通过semanage port -l | grep ssh来查看当前SSH服务被允许使用的端口列表,确认2222已加入其中。

重启服务与验证

完成以上所有配置后,重启SSH服务以使更改生效:

CentOS 7.5更换SSH默认端口22的详细步骤是?

systemctl restart sshd

关键验证步骤:在断开当前SSH连接之前,务必开启一个新的终端窗口,尝试使用新端口连接服务器:

ssh username@your_server_ip -p 2222

如果新端口连接成功,则说明所有配置均正确无误,您可以安全地断开旧连接,确认无误后,可以返回第一步的配置文件中,将Port 22这一行删除或注释掉,并再次从防火墙中移除22端口,完成彻底的端口切换。

常用服务端口与配置文件速查表

为了方便您对其他服务进行类似操作,下表列出了一些常见服务的默认端口及配置文件路径。

服务名称 默认端口 主配置文件路径
SSH (远程登录) 22 /etc/ssh/sshd_config
HTTP (Apache/Nginx) 80 /etc/httpd/conf/httpd.conf/etc/nginx/nginx.conf
HTTPS (Apache/Nginx) 443 同上
MySQL/MariaDB 3306 /etc/my.cnf/etc/my.cnf.d/server.cnf
FTP (vsftpd) 21 /etc/vsftpd/vsftpd.conf

相关问答 (FAQs)

问题1:修改端口后无法连接,被锁在门外怎么办? 解答: 首先不要慌张,如果您拥有服务器的物理控制台访问权限或虚拟化平台(如VNC、VMware Console)的远程控制台,可以通过它登录系统,依次排查:1)检查sshd_config文件中的端口号是否正确且语法无误;2)使用firewall-cmd --list-ports确认防火墙是否已放行新端口;3)使用semanage port -l | grep ssh确认SELinux是否允许新端口;4)使用systemctl status sshd检查SSH服务是否正常运行,找到问题并修正后,重启SSH服务即可。

问题2:修改端口后,是否需要禁用原来的默认端口(如22端口)? 解答: 是的,强烈建议禁用,保留默认端口会暴露服务信息,使得安全加固失去意义,在您通过新端口100%确认服务稳定运行后,应返回/etc/ssh/sshd_config文件中删除或注释掉Port 22这一行,并执行firewall-cmd --zone=public --remove-port=22/tcp --permanentfirewall-cmd --reload来从防火墙中移除22端口,从而彻底关闭攻击者最常扫描的入口。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.