在CentOS系统中更改SSH端口是一项常见的任务,通常用于提高系统的安全性,以下是详细的步骤和相关注意事项:
一、修改SSH配置文件
1、登录服务器:使用SSH远程登录到CentOS服务器。
2、编辑SSH配置文件:打开SSH配置文件/etc/ssh/sshd_confiG
进行编辑,可以使用vi或nano等文本编辑器进行编辑。
sudo vi /etc/ssh/sshd_config
3、添加新端口:找到#Port 22
这一行(可能会因版本而异),去掉行首的注释符号#
,并将22修改为其他端口号(建议选择1024 ~ 65535之间的端口号),将端口修改为31022:
Port 31022
为了防止修改错误导致无法连接,可以先保留22端口,新增一个端口,如下所示:
Port 22 Port 31022
4、保存并退出:按Esc
键,输入:wq
保存并退出编辑器。
二、重启SSH服务
为了使更改生效,需要重启SSH服务:
sudo systemctl restart sshd
三、配置防火墙放行新端口
如果服务器使用了防火墙(如firewalld),需要配置防火墙以放行新的SSH端口。
1、查看防火墙状态:检查防火墙是否运行。
sudo firewallcmd state
2、永久放行新端口:假设新端口为31022,执行以下命令永久放行该端口。
sudo firewallcmd zone=public addport=31022/tcp permanent
3、重新加载防火墙配置:使配置生效。
sudo firewallcmd reload
四、关闭Selinux(可选)
在某些情况下,Selinux可能会阻止新的SSH端口,可以选择暂时关闭Selinux,但请注意这可能会带来安全风险。
1、永久关闭Selinux:编辑Selinux配置文件/etc/selinux/config
,将SELINUX=enforcing
改为SELINUX=disabled
。
sudo vi /etc/selinux/config
2、暂时关闭Selinux:使用以下命令暂时关闭Selinux。
sudo setenforce 0
五、测试新端口
使用新的端口号尝试连接服务器,确保配置正确。
ssh 用户名@IP p 31022
步骤 | 命令 | 描述 |
1 | sudo vi /etc/ssh/sshd_config | 编辑SSH配置文件 |
2 | Port 31022 | 添加新端口 |
3 | :wq | 保存并退出 |
4 | sudo systemctl restart sshd | 重启SSH服务 |
5 | sudo firewallcmd zone=public addport=31022/tcp permanent | 防火墙放行新端口 |
6 | sudo firewallcmd reload | 重新加载防火墙配置 |
7 | sudo setenforce 0 | 暂时关闭Selinux(可选) |
8 | ssh 用户名@IP p 31022 | 测试新端口 |
七、常见问题及解答
Q1: 如何更改CentOS中的SSH默认端口?
A1: 要更改CentOS中的SSH默认端口,首先需要编辑SSH配置文件/etc/ssh/sshd_config
,找到#Port 22
这一行,去掉注释符号#
,并将其修改为新的端口号(例如31022),然后保存文件并重启SSH服务,如果服务器使用了防火墙,还需要配置防火墙以放行新的SSH端口。
Q2: 修改SSH端口后无法连接怎么办?
A2: 如果修改SSH端口后无法连接,可能是由于以下几个原因:1. SSH配置文件中的端口号设置错误;2. 防火墙没有放行新的SSH端口;3. Selinux阻止了新的SSH端口,解决方法包括:检查SSH配置文件中的端口号是否正确;确认防火墙已经放行新的SSH端口;如果必要,可以暂时关闭Selinux进行测试。