如何更改Rocky Linux的SSH端口,修改完后无法连接SSH(详细教程解决办法)

ROED2024-11-26  96

在CentOS系统上修改SSH远程端口是一个常见的安全操作,可以帮助你提高服务器的安全性,默认的SSH端口是22,黑客通常会扫描此端口以寻找可攻击的服务器。将SSH端口更改为非标准端口可以降低被攻击的几率。

要更改Rocky Linux上的SSH端口,请按照以下步骤操作:

  1. 使用文本编辑器(例如vim或nano)打开SSH配置文件/etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config
  1. 在文件中找到Port行,该行指定SSH端口。默认情况下,端口为22。将端口号更改为您想要的新端口号。例如,将端口更改为2222:
Port 2222
  1. 保存并关闭文件。如果您使用的是vim,请按下Esc键,然后输入:wq并按下Enter

  2. 重新加载SSH服务以应用更改:

sudo systemctl reload sshd
  1. 确保防火墙允许新端口的传入连接。如果您使用的是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

申明 1、网站名称:容易得 网址:WWW.ROED.CN
2、网站的内容来源于网络,如有侵权,请联系邮箱:185254287#qq.com 本站会在7个工作日内进行删除处理。
3、转载发布此文目的在于传递分享更多信息,仅代表原作者个人观点,并不代表本站赞同其观点和对其真实性负责。文章内容仅供参考,请读者自行甄别,以防风险。
4、禁止发布和链接任何有关政治、色情、宗教、迷信、低俗、变态、血腥、暴力以及危害国家安全,诋毁政府形象等违法言论和信息。
转载请注明原文地址:https://www.roed.cn/read-369858.html