天天看點

SSH登入報pam_unix(sshd:auth): authentication failure的案例

修改一台Linux伺服器(RHEL 6.6)的root密碼後,然後使用ssh驗證測試時,發現其提示“密碼驗證失敗.請檢查使用者名和密碼是否正确”,仔細核對,賬号密碼确實沒有錯誤。但是檢查日志/var/log/secure發現下面錯誤資訊

因為目前我是通過JumpServer連接配接到這台伺服器的,驗證測試則是直接從我筆記本通過ssh連接配接測試,之前遇到過“Linux ssh突然連接配接不了的案例淺析”“,是以檢查/etc/ssh/sshd_config設定是否允許我的筆記本ssh通路。發現配置沒有錯誤。

然後又檢查/etc/hosts.deny是否禁止這台機器通路,發現沒有這種配置。

實在是有點懵逼了,屢次嘗試都沒有找到root cause反而激起了我不服輸的鬥志,一定要搞清楚到底是什麼原因,然後仔細一項一項檢查,最後發現是因為/etc/ssh/sshd_config的PermitRootLogin選項為no禁止root賬号登入,瞬間汗顔了!!! 平時都是通過JumpServer登入,反而忘記了這台伺服器禁止root登入。

關于PermitRootLogin,它表示是否允許 root 登入。它有下面幾個選項:

    "yes"(預設) 表示允許。

    "no"表示禁止。

    "without-password"   表示禁止使用密碼認證登入。隻允許root用public key認證方式登入

    "forced-commands-only" 表示隻有在指定了 command 選項的情況下才允許使用公鑰認證登入。同時其它認證方法全部被禁止。這個值常用于做遠端備份之類的事情

SSH登入報pam_unix(sshd:auth): authentication failure的案例

這篇部落格“sshd_config 中 PermitRootLogin 的探讨”對這個參數做了詳細深入的介紹,有興趣移步學習了解:

參數類别

是否允許ssh登陸

登入方式

互動shell

yes

允許

沒有限制

without-password

除密碼以外

forced-commands-only

僅允許使用密鑰

僅允許已授權的指令

no

不允許

N/A

參考資料:

javascript:void(0)

繼續閱讀