這是一個特殊的案例,在修複ssh登陸之前,這個系統還經曆了系統C庫檔案損壞,系統無法啟動的恢複操作。
通過控制台管理終端可以登陸到系統内部,ssh登陸提示密碼不正确,無論修改成什麼密碼,ssh都提示密碼不正确。
在問題排查之前,我們先看下SSH 登入關聯因素示意圖:
為了排查這個問題,我們需要先了解一下什麼是PAM?
PAM(插入式驗證子產品(Pluggable Authentication Module,PAM))
簡單來說,就是提供了一組身份驗證、密碼驗證的統一抽象接口,應用程式員可以使用這些API接口來實作與安全性相關的功能,例如:
PAM 子產品的基本流程
PAM 子產品是按子產品類型歸類的。任何給定的子產品至少要實作四種子產品類型功能之一:
我們看下這個檔案的内容(/etc/pam.d/sshd):
做一個小實驗,修改/etc/ssh/sshd_config中的驗證方式
在清空/etc/pam.d/sshd以及PasswordAuthentication=yes的情況下:
設定UsePAM=yes,提示驗證失敗(實際驗證的時候發現不同的系統版本提示不太一樣,用戶端是Authentication failed.secure日志有所不同,failed passwd ,pam提示都有)
設定UsePAM=no,使用正确的passwd登入成功
通過這個測試可以确定,當開啟UsePAM的時候,先去找驗證子產品,由驗證子產品決定下一步的驗證
(如/etc/pam.d/sshd檔案裡面的auth include password-auth)即使密碼是正确的,如果驗證子產品自身有問題也無法登入
<a href="https://help.aliyun.com/knowledge_detail/52874.html">https://help.aliyun.com/knowledge_detail/52874.html</a>
<a href="https://www.ibm.com/developerworks/cn/linux/l-pam/">https://www.ibm.com/developerworks/cn/linux/l-pam/</a>