本文介紹通過SSH用戶端登入Linux執行個體時,提示“Permission denied, please try again”錯誤的解決方案。
問題描述
通過本地SSH用戶端登入Linux系統的Simple Application Server執行個體時,即便輸入了正確的密碼,出現了類似如下的錯誤資訊。
Permission denied, please try again.
SSH伺服器拒絕了密碼,請再試一次。
問題原因
導致該問題可能有以下原因:
Simple Application Server執行個體內禁用root使用者登入:SSH服務對應設定檔
/etc/ssh/sshd_config
中的參數PermitRootLogin
或PasswordAuthentication
被設定為no
。您可以參考禁止root使用者登入引起問題的解決方案解決。PermitRootLogin
設定為no
,表示禁用使用root使用者登入。PasswordAuthentication
設定為no
,表示禁用使用密碼方式登入,但是可以使用密鑰方式登入。
Linux系統啟用了SELinux服務,導致root使用者和普通使用者無法登入。
執行
cat /var/log/secure
查看secure日誌,若日誌中包含error: Could not get shadow information for root.
表示是啟用了SELinux服務導致,您可以參考SELinux服務引起問題的解決方案解決。
禁止root使用者登入引起問題的解決方案
使用救援遠端連線Simple Application Server執行個體。具體操作,請參見使用救援串連Linux伺服器。
查看
/etc/ssh/sshd_config
的參數PermitRootLogin
或PasswordAuthentication
配置。cat /etc/ssh/sshd_config
如下圖所示,
PermitRootLogin
和PasswordAuthentication
參數設定為no
,表示禁止root使用者登入,也禁止以密碼方式登入。根據業務需要,修改
PermitRootLogin
和PasswordAuthentication
參數配置。開啟SSH設定檔。
vi /etc/ssh/sshd_config
修改
PermitRootLogin
和PasswordAuthentication
參數值配置。如果需要root使用者登入,請將
PermitRootLogin
參數值設定為yes
。如果要求輸入密碼方式登入,請將
PasswordAuthentication
參數值設定為yes
。
按Esc鍵,輸入
:wq
儲存修改。
執行如下命令,重啟SSH服務。
systemctl restart sshd.service
SELinux服務引起問題的解決方案
您可以根據實際情況,選擇臨時或永久關閉SELinux服務解決SSH串連異常問題。
檢查SELinux服務狀態。
使用救援遠端連線Simple Application Server執行個體。具體操作,請參見使用救援串連Linux伺服器。
執行如下命令,查看當前SELinux服務狀態。
/usr/sbin/sestatus -v
系統顯示類似如下。
SELinux status: enabled
說明SELinux status參數值說明如下:
enabled:SELinux服務處於開啟狀態。
disabled:SELinux服務處於關閉狀態。
關閉SELinux服務。
臨時關閉SELinux服務
執行如下命令,臨時關閉SELinux服務。
setenforce 0
永久關閉SELinux服務
執行如下命令,永久關閉SELinux服務。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
說明此命令只適用當前SELinux服務為
enforcing
狀態時使用。重啟執行個體使設定生效。具體操作,請參見查看伺服器資訊。