SSH登录失败、修改端口重启失败

背景

新服务器上架,考虑安全原因需要修改端口。将SSH默认22端口修改成8888端口。

目的

提供修改SSH端口,重启失败解决方法;提供发现问题后解决问题思路;积累工作经验,提升个人能力

场景还原

能到修改sshd端口这一步肯定SSH都有按照服务,这里省略安装SSH步骤。

1.修改ssh配置文件

[root@bogon ~]# vi /etc/ssh/sshd_config

进入之后按i进入编辑模式,注释掉默认端口信息,在下面将Port 修改成8888。按esc键退出编辑模式,”:wq“保存或者”:wq!”强制保存。

2.按照正常的流程要重启SSH服务。

[root@bogon ~]# systemctl restart sshd

之后开始报错,提示查看sshd服务状态或者查看日志。

3. sshd服务状态

目前我还看不懂写的什么意思,继续往下看日志显示信息

4.查看日志

[root@bogon ~]# journalctl -xe

日志中“SELinux is preventing /usr/sbin/sshd from name_bind access on the tcp_socket port“信息最为瞩目,但还是看不懂,使用AI大模型进行解释

SELinux是强制访问控制策略,具体的可以问问AI了解一下。我还在学习中。

下面是解决重启失败的解决方法

解决方法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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值