在CentOS操作系统中,修改SSH端口是一项常见的任务,旨在提高系统的安全性,默认情况下,SSH使用22端口进行通信,但这一端口常成为黑客攻击的目标,将SSH端口更改为非标准端口可以有效降低被攻击的风险,下面详细介绍如何在CentOS系统中更改SSH端口:
一、登录CentOS服务器
你需要通过SSH远程登录到你的CentOS服务器,如果你已经在服务器的物理控制台上,可以直接进行后续操作。
二、修改SSH配置文件
1、打开SSH配置文件:使用文本编辑器(如vi或nano)打开SSH配置文件/etc/ssh/sshd_config
。
sudo vi /etc/ssh/sshd_config
2、添加新端口:找到并编辑Port
配置项,默认情况下,这一行可能是注释掉的(以#开头),去掉注释符号#,并在下面添加一行新的端口号,建议选择1024到65535之间的端口号,
#Port 22 Port 2222
这里保留了22端口作为备用,以防新端口无法连接时仍能通过22端口访问。
3、保存并退出:编辑完成后,按Esc
键,输入:wq
保存文件并退出编辑器。
三、重启SSH服务
为了使更改生效,需要重启SSH服务:
sudo systemctl restart sshd
或者在某些版本中可能需要使用:
sudo systemctl restart sshd.service
四、防火墙配置
如果服务器启用了防火墙(如firewalld),需要放行新的SSH端口:
1、查看防火墙状态:
sudo firewallcmd state
2、如果防火墙已关闭,则启动并设置开机自启:
sudo systemctl start firewalld sudo systemctl enable firewalld.service
3、放行新端口:假设新端口是2222,执行以下命令:
sudo firewallcmd zone=public addport=2222/tcp permanent
4、重新加载防火墙配置:
sudo firewallcmd reload
五、验证端口是否处于监听状态
可以使用netstat
命令检查新的SSH端口是否正在监听:
netstat ntulp | grep sshd
你应该能看到类似以下的输出,显示新的端口号(如2222)正在监听。
六、测试新端口
使用SSH客户端尝试通过新的端口号连接到服务器,确保一切正常。
ssh username@your_server_ip p 2222
将username
替换为你的用户名,your_server_ip
替换为你的服务器IP地址。
七、关闭Selinux(可选)
在一些情况下,Selinux可能会阻止SSH服务使用新的端口,如果你遇到这种情况,可以考虑暂时关闭Selinux:
1、永久关闭Selinux:
sudo vi /etc/selinux/config
将SELINUX=enforcing
改为SELINUX=disabled
。
2、立即关闭Selinux:
sudo setenforce 0
备份配置文件:在进行任何重大更改之前,建议备份相关的配置文件。
测试环境:在实际生产环境中应用更改之前,最好在一个测试环境中进行验证。
安全性:除了更改SSH端口外,还应考虑其他安全措施,如禁用root远程登录、使用密钥认证等。
文档记录:记录你所做的更改,以便将来参考或恢复。
九、相关问答FAQs
Q1: 如果修改SSH端口后无法连接怎么办?
A1: 如果修改SSH端口后无法连接,首先检查以下几点:
确保新的端口号没有与其他服务冲突。
确保防火墙已经放行新的端口。
检查SSH服务的状态,确保它正在运行。
如果仍然无法连接,可以尝试暂时恢复原来的22端口,然后逐步排查问题。
Q2: 如何更改回默认的SSH端口?
A2: 要更改回默认的SSH端口(22),只需按照上述步骤中的相反顺序操作即可,就是删除或注释掉你在/etc/ssh/sshd_config
文件中添加的新端口行,然后重启SSH服务和防火墙(如果适用),确保防火墙放行了22端口。