在CentOS系统上修改SSH远程端口是一个常见的安全操作,可以帮助你提高服务器的安全性,默认的SSH端口是22,黑客通常会扫描此端口以寻找可攻击的服务器。将SSH端口更改为非标准端口可以降低被攻击的几率。
要更改Rocky Linux上的SSH端口,请按照以下步骤操作:
- 使用文本编辑器(例如vim或nano)打开SSH配置文件
/etc/ssh/sshd_config
:
sudo vim /etc/ssh/sshd_config
- 在文件中找到
Port
行,该行指定SSH端口。默认情况下,端口为22。将端口号更改为您想要的新端口号。例如,将端口更改为2222:
-
保存并关闭文件。如果您使用的是vim,请按下Esc
键,然后输入:wq
并按下Enter
。
-
重新加载SSH服务以应用更改:
sudo systemctl reload sshd
- 确保防火墙允许新端口的传入连接。如果您使用的是Firewalld,请运行以下命令允许新端口:
sudo firewall-cmd --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
现在,您已成功更改Rocky Linux上的SSH端口。请确保您在连接时使用新端口。
CentOS修改SSH远程端口
sshd服务状态
往下看日志显示信息
查看日志
[root@bogon ~]# journalctl -xe
日志中“SELinux is preventing /usr/sbin/sshd from name_bind access on the tcp_socket port“信息最为瞩目
SELinux是强制访问控制策略
解决方法1
通过日志我们发现是SELinux阻止了端口的修改。
1.临时禁止SELinux策略
[root@bogon ~]# setenforce 0
这时候重启ssh服务将不在报错。服务器每次重启,都需要禁止,不然SSH登录不上。
2.查看ssh运行状态。
查看ssh运行状态,确保ssh运行正常
[root@bogon ~]# systemctl status sshd
3.永久禁止SELinux
修改 /etc/selinux/config 并设置 SELINUX=disabled。
[root@bogon ~]# vi /etc/selinux/config
注释原来的配置信息,在下方输入新配置。保存,重启服务器生效。
4.查看SELinux状态
[root@bogon ~]# sestatus
重启后还要查看一下SELinux状态。显示disabled关闭成功
解决方法2
不禁止SELinux规则,在原有的基础上进行修改。
1.搜索SELinux当前ssh的规则
[root@bogon ~]# semanage port -l | grep ssh
我们看到ssh服务名称,ssh_port_t,端口只允许了22端口
2.修改端口
[root@bogon ~]# semanage port -a -t ssh_port_t -p tcp 8888
-a选项用于添加新的允许规则,-p选项用于指定协议类型(在此为TCP或UDP),-h选项用于指定主机名,-s选项用于指定服务名称,<port number>是要添加的端口号
3.查看ssh新增端口是否成功
[root@bogon ~]# semanage port -l | grep ssh
4.删除端口
[root@bogon ~]# semanage port -d -t ssh_port_t -p tcp 8888
-d参数是删除端口
将-a替换成-m是修改的意思,将22端口直接变成8888端口。
总结问题:
SSH重启失败的原因是因为被SELinux策略阻止了。本文章提供两种方法,第一种方法临时或者永久停止SELinux服务;第二种方法在原有的SELinux服务上添加新规则。
命令使用总结
修改sshd配置文件
[root@bogon ~]# vi /etc/ssh/sshd_config
重启sshd服务
[root@bogon ~]# systemctl restart sshd
查看sshd服务状态
[root@bogon ~]# systemctl status sshd
查看日志
[root@bogon ~]# journalctl -xe
临时禁止SELinux策略
[root@bogon ~]# setenforce 0
永久禁止SELinux
修改 /etc/selinux/config 并设置 SELINUX=disabled。
[root@bogon ~]# vi /etc/selinux/config
搜索SELinux规则
[root@bogon ~]# semanage port -l | grep ssh
在SELinux新增端口
[root@bogon ~]# semanage port -a -t ssh_port_t -p tcp 8888
重启单个网卡
sudo ip link set dev eth0 down
sudo ip link set dev eth0 up