在CentOS系统中,开通SSH端口是远程管理服务器的常见操作,默认情况下,SSH服务使用22端口,但出于安全考虑,很多用户会修改为其他端口,以下是详细的操作步骤和注意事项,帮助您顺利完成SSH端口的配置。

检查SSH服务状态
在修改端口之前,首先需要确认SSH服务是否已安装并运行,通过以下命令检查SSH服务的状态:
systemctl status sshd
如果未安装,可以使用yum install openssh-server命令进行安装,安装完成后,启动SSH服务并设置为开机自启:
systemctl start sshd systemctl enable sshd
修改SSH配置文件
SSH的主配置文件位于/etc/ssh/sshd_config,使用文本编辑器(如vim或nano)打开该文件:
vim /etc/ssh/sshd_config
找到#Port 22这一行,取消注释并修改为您需要的端口号,例如Port 2222,确保端口号在1024-65535之间,且未被其他服务占用,修改后保存文件并退出。
配置防火墙规则
CentOS系统默认使用firewalld作为防火墙管理工具,需要将新的SSH端口添加到防火墙规则中,允许新的端口通过防火墙:

firewall-cmd --permanent --add-port=2222/tcp
然后重新加载防火墙配置使规则生效:
firewall-cmd --reload
如果使用的是iptables防火墙,则需要执行以下命令:
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT service iptables save
修改SELinux配置(如需)
如果系统启用了SELinux,可能会阻止SSH在新端口上监听,使用以下命令查看当前SELinux对SSH的端口限制:
semanage port -l | grep ssh
如果新端口不在允许列表中,添加该端口:
semanage port -a -t ssh_port_t -p tcp 2222
重启SSH服务
完成以上配置后,重启SSH服务使更改生效:

systemctl restart sshd
您可以使用新的端口(如ssh username@server_ip -p 2222)连接服务器,建议先在当前会话中测试连接,确认无误后再关闭旧端口的访问。
安全建议
- 避免使用常见端口:不要选择如80、443等常见端口,以减少自动化攻击的风险。
- 限制访问IP:在防火墙中限制只有特定IP地址可以访问SSH端口。
- 使用密钥认证:禁用密码登录,改用SSH密钥对进行认证,提高安全性。
相关问答FAQs
Q1: 修改SSH端口后无法连接,可能的原因有哪些?
A1: 可能的原因包括:防火墙未开放新端口、SELinux阻止了新端口的访问、SSH服务未重启或配置文件语法错误,建议检查防火墙规则、SELinux设置,并使用sshd -t命令测试配置文件语法是否正确。
Q2: 如何在修改端口后禁用默认的22端口?
A2: 在/etc/ssh/sshd_config文件中,将Port 22行注释或删除,确保只保留新端口的配置,然后重启SSH服务即可,记得从防火墙规则中也移除22端口的访问权限。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复