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端口,从而彻底关闭攻击者最常扫描的入口。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-25 10:07
下一篇 2025-10-25 10:19

相关推荐

  • centos下如何查看所有线程数及每个线程的详细信息?

    在CentOS系统中查看线程数是系统管理和性能监控的重要环节,线程是进程中的执行单元,了解线程数有助于诊断性能问题、优化资源分配,本文将介绍多种方法查看线程数,包括使用系统工具、分析进程状态以及通过脚本实现自动化监控,使用ps命令查看线程数ps命令是Linux系统中查看进程状态的基本工具,通过特定参数可以显示每……

    2025-11-24
    005
  • CentOS服务器性能变差,程序员如何快速定位并解决问题?

    在服务器操作系统的世界里,CentOS长久以来占据着举足轻重的地位,它以其无与伦比的稳定性、安全性和与Red Hat Enterprise Linux(RHEL)的高度兼容性,成为了无数企业级应用和服务的基石,而在这片稳固的土地上辛勤耕耘的,正是我们所说的“centos程序员”,他们不仅仅是代码的编写者,更是系……

    2025-10-14
    004
  • CentOS系统流量监控,如何有效查看与分析流量数据?

    CentOS流量查看方法概述在CentOS系统中,查看网络流量对于监控和维护系统至关重要,以下是几种常用的方法来查看CentOS系统的网络流量,使用ifconfig命令ifconfig是Linux系统中常用的网络配置工具,也可以用来查看网络接口的流量,1 查看所有接口的流量sudo ifconfig2 查看特定……

    2026-01-17
    003
  • 佛山网站建设服务_创建设备

    在佛山,我们提供专业的网站建设服务。无论您需要企业网站、电商网站还是个人博客,我们都能为您量身打造。创建设备,就选我们!

    2024-07-23
    0010

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信