修改SSH服务监听端口,引起服务启动失败原因分析

某天,对一台服务器修改sshd.config文件,指定SSH服务监听端口,然后重启ssh服务,提示失败。

是什么原因引起的呢,因为SSH服务没有独立日志文件,需要查看 /var/log/messages文件 ,/var/log/secure文件和journalctl -xe 进行分析。

在/var/log/messages文件中没有提示具体原因。

但是通过journalctl -xe 命令可以明确看到提示权限不够。

再次通过查看/var/log/secure文件,也看到权限不够的记录

为什么只修改了SSH服务的监听端口,就会提示权限不够呢?

因为SELinux进行权限管控,

通过semanage port -l | grep ssh 查看SELinux规则中SSH服务的监听端口,看到SELinux默认配置的SSH服务端口为22,与ssh服务配置文件中的端口不一致,所以无法启动服务。

( 如果提示没有semanage命令通过yum install policycoreutils-python -y进行安装)

通过 audit2why分析SELinux日志,可以看到相关的拦截记录

现在知道是因为SELinux的原因引起服务不能启动,那怎么办?

很简单,修改SELinux规则就可以了。

可以通过semanage命令调整ssh服务的端口

现在再次重启SSH服务,一切正常

 

posted @ 2021-08-03 14:34  运维小菜鸟  阅读(1378)  评论(0编辑  收藏  举报