修改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服務,一切正常

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM