本文檔可能包含第三方產品資訊,該資訊僅供參考。阿里雲對第三方產品的效能、可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。
問題描述
使用SSH串連Linux系統的ECS執行個體時,即便輸入了正確的密碼,也無法正常登入。該問題出現時,使用管理終端或SSH登入用戶端時,可能存在一種方式無法正常登入。同時,secure日誌中出現類似如下錯誤資訊。
sshd[1199]: pam_listfile(sshd:auth): Refused user root for service sshd
sshd[1199]: Failed password for root from 192.X.X.1 port 22 ssh2
sshd[1204]: Connection closed by 192.X.X.2
問題原因
PAM模組(pam_listfile.so)相關存取控制策略導致使用者登入失敗。
解決方案
如果您對執行個體或資料有修改、變更等風險操作,務必注意執行個體的容災、容錯能力,確保資料安全。
如果您對執行個體(包括但不限於ECS、RDS)等進行配置與資料修改,建議提前建立快照或開啟RDS記錄備份等功能。
如果您在阿里雲平台授權或者提交過登入帳號、密碼等安全資訊,建議您及時修改。
PAM模組可用於Linux系統的存取控制。要解決此問題,請進行如下配置檢查。本文相關Linux配置及說明已在CentOS 6.5 64位作業系統中進行過測試。其它作業系統版本配置可能有所差異,具體情況請參閱相應作業系統官方文檔。
登入執行個體,通過cat等命令查看對應的PAM設定檔,設定檔說明如下。
檔案
功能說明
/etc/pam.d/login控制台(管理終端)對應設定檔
/etc/pam.d/sshdSSH登入對應設定檔
/etc/pam.d/system-auth系統全域設定檔
確認存在類似如下配置資訊。
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail相關策略可以提高伺服器的安全性。請使用者基於安全性和易用性權衡後,再確定是否需要修改相關配置,在修改之前建議進行檔案備份。相關策略參數說明如下。
item:設定存取控制的物件類型,可選值包括tty、user、rhost、ruser、group和Shell。
sense:在設定檔中找到符合條件專案的控制方式。可選值為allow和deny。allow代表白名單方式,而deny代表黑名單方式。
file:用於指定設定檔的全路徑名稱。
onerr:定義了出現錯誤時的預設傳回值,比如無法開啟設定檔的錯誤。
使用vi等編輯器,刪除策略配置,也可以注釋策略配置,如下所示,在策略配置前添加 #。
#auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail然後重新登入伺服器,確認無異常即可。
更多資訊
PAM(Pluggable Authentication Modules)是由Sun提出的一種認證機制。它通過提供一些動態連結程式庫和一套統一的API,將系統提供的服務和該服務的認證方式分開。使得系統管理員可以靈活地根據需求,給不同的服務配置不同的認證方式,而無需更改服務程式,同時也便於向系統中添加新的認證手段。
每個啟用了PAM模組的應用程式,在
/etc/pam.d目錄中都有對應的同名設定檔。例如,login命令的設定檔是/etc/pam.d/login,可以在相應設定檔中配置具體的策略。更多關於pam_listfile的資訊,請參見pam_listfile。
如果還存在問題,可以參閱通過SSH無法遠程登入Linux執行個體的排查指引,進一步排查分析。
適用於
Elastic Compute Service