在CentOS 7上修改端口是一项常见的任务,尤其是为了增强系统的安全性或满足特定的网络配置需求,下面将详细介绍如何在CentOS 7上修改SSH端口的步骤:
1、使用SSH登录到服务器

打开终端或SSH客户端,输入以下命令连接到服务器:ssh username@server_ip
(将username
替换为你的用户名,server_ip
替换为你的服务器IP地址)。
2、打开并编辑SSH配置文件
使用文本编辑器(如vi
或nano
)打开SSH配置文件/etc/ssh/sshd_config
,使用vi
编辑器可以输入以下命令:sudo vi /etc/ssh/sshd_config
。
3、查找并修改Port设置
在打开的文件中,找到包含“#Port 22”的行(可能会因版本而异),这行通常被注释掉了,表示默认使用端口22。
去掉行首的“#”注释符号,并将22修改为你希望使用的端口号(建议选择1024~65535之间的端口号),如果你想使用端口2222,可以将该行修改为:Port 2222
。

4、保存文件并关闭编辑器
在vi
编辑器中,按Esc
键退出编辑模式,然后输入:wq
保存文件并退出。
5、重启SSH服务
为了使更改生效,需要重启SSH服务,输入以下命令:sudo systemctl restart sshd
。
6、更新防火墙配置(如果适用)
如果你的服务器使用了防火墙(如firewalld
),需要打开新的SSH端口以允许外部访问,输入以下命令来添加新端口到防火墙规则:
sudo firewallcmd zone=public addport=2222/tcp permanent
(将2222替换为你选择的端口号)。
sudo firewallcmd reload
。
7、测试新端口
尝试使用新的端口号通过SSH连接到服务器,以确保更改成功。ssh username@server_ip p 2222
(将2222替换为你选择的端口号)。
8、可选:禁用旧端口(如果不再需要)
如果一切正常,你可以选择禁用旧的SSH端口(如端口22)以提高安全性,编辑/etc/ssh/sshd_config
文件,找到包含“Port 22”的行,并在行首添加“#”注释掉该行,然后重启SSH服务并更新防火墙配置以移除旧端口。
FAQs
Q1:修改SSH端口后无法连接怎么办?
A1:首先检查是否已正确修改了/etc/ssh/sshd_config
文件中的Port设置,并确保已重启SSH服务,然后检查防火墙配置,确保新端口已被添加到防火墙规则中,还要确认你在使用SSH客户端连接时指定了正确的端口号,如果问题仍然存在,可以查看SSH服务的日志文件(通常位于/var/log/secure
或/var/log/messages
)以获取更多错误信息。
Q2:修改哪些其他常用端口可以提高系统安全性?
A2:除了SSH端口外,还可以考虑修改FTP、HTTP、HTTPS等服务的默认端口,FTP默认使用端口21,HTTP默认使用端口80,HTTPS默认使用端口443,通过修改这些服务的默认端口并更新相应的配置文件和服务设置,可以减少潜在的网络攻击风险,但请注意,在修改任何服务端口之前,请确保了解该服务及其依赖关系,并备份相关配置文件以防万一。