本文檔可能包含第三方產品信息,該信息僅供參考。阿里云對第三方產品的性能、可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。
問題描述
使用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/sshd
SSH登錄對應配置文件
/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實例的排查指引,進一步排查分析。
適用于
云服務器ECS