本文介紹通過SSH客戶端登錄Linux實例時,提示“Permission denied, please try again”錯誤的解決方案。
問題描述
通過本地SSH客戶端登錄Linux系統的輕量應用服務器實例時,即便輸入了正確的密碼,出現了類似如下的錯誤信息。
Permission denied, please try again.
SSH服務器拒絕了密碼,請再試一次。
問題原因
導致該問題可能有以下原因:
輕量應用服務器實例內禁用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用戶登錄引起問題的解決方法
使用救援遠程連接輕量應用服務器實例。具體操作,請參見使用救援連接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服務狀態。
使用救援遠程連接輕量應用服務器實例。具體操作,請參見使用救援連接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
狀態時使用。重啟實例使設置生效。具體操作,請參見查看服務器信息。