全部產品
Search
文件中心

Simple Application Server:如何解決使用root使用者通過SSH登入Linux執行個體時報“Permission denied, please try again”的錯誤

更新時間:Aug 13, 2024

本文介紹通過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中的參數PermitRootLoginPasswordAuthentication被設定為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使用者登入引起問題的解決方案

  1. 使用救援遠端連線Simple Application Server執行個體。具體操作,請參見使用救援串連Linux伺服器

  2. 查看/etc/ssh/sshd_config的參數PermitRootLoginPasswordAuthentication配置。

    cat /etc/ssh/sshd_config

    如下圖所示,PermitRootLoginPasswordAuthentication參數設定為no,表示禁止root使用者登入,也禁止以密碼方式登入。

    image

  3. 根據業務需要,修改PermitRootLoginPasswordAuthentication參數配置。

    1. 開啟SSH設定檔。

      vi /etc/ssh/sshd_config
    2. 修改PermitRootLoginPasswordAuthentication參數值配置。

      • 如果需要root使用者登入,請將PermitRootLogin參數值設定為yes

      • 如果要求輸入密碼方式登入,請將PasswordAuthentication參數值設定為yes

        image

    3. 按Esc鍵,輸入:wq儲存修改。

  4. 執行如下命令,重啟SSH服務。

    systemctl restart sshd.service

SELinux服務引起問題的解決方案

您可以根據實際情況,選擇臨時或永久關閉SELinux服務解決SSH串連異常問題。

  1. 檢查SELinux服務狀態。

    1. 使用救援遠端連線Simple Application Server執行個體。具體操作,請參見使用救援串連Linux伺服器

    2. 執行如下命令,查看當前SELinux服務狀態。

      /usr/sbin/sestatus -v 

      系統顯示類似如下。

      SELinux status:       enabled
      說明

      SELinux status參數值說明如下:

      • enabled:SELinux服務處於開啟狀態。

      • disabled:SELinux服務處於關閉狀態。

  2. 關閉SELinux服務。

    臨時關閉SELinux服務

    執行如下命令,臨時關閉SELinux服務。

    setenforce 0

    永久關閉SELinux服務

    1. 執行如下命令,永久關閉SELinux服務。

      sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
      說明

      此命令只適用當前SELinux服務為enforcing狀態時使用。

    2. 重啟執行個體使設定生效。具體操作,請參見查看伺服器資訊