全部產品
Search
文件中心

Bastionhost:密碼與密鑰相關問題

更新時間:Jun 30, 2024

本文介紹您在使用密碼或密鑰時的相關問題及解決方案。

為什麼配置了密鑰或私密金鑰認證登入伺服器,登入時仍提示輸入密碼?

Bastionhost訪問伺服器時,密鑰認證方式的優先順序高於密碼認證,如果密鑰認證失敗,會自動跳轉到密碼認證方式。如果您的主機賬戶只配置了密鑰且沒有託管密碼,密鑰認證失敗時會提示您輸入伺服器的登入密碼。

您可以通過以下方式進行排查:

  1. 請確保在Bastionhost上正確配置了私密金鑰,且通過該私密金鑰可以正常訪問伺服器,您可以通過使用私密金鑰登入ECS雲端服務器的方式進行驗證。產生密鑰及在Bastionhost上設定密鑰認證的操作,請參見如何產生密鑰並設定密鑰認證訪問伺服器?

    說明

    SSH私密金鑰認證配置方式,請參見設定SSH私密金鑰認證

  2. 檢查OpenSSH是否升級至9.0及以上版本,或作業系統為Rocky 9、Ubuntu 22.04、Mac 13.0.1及以上版本等。

    由於以上情況預設禁用了ssh-rsa公開金鑰簽名演算法,您可以配置相應檔案,手動啟用本地用戶端或遠程伺服器ssh-rsa公開金鑰簽名演算法的參數。

    • 使用用戶端(Mac 13.0.1及以上版本)訪問Bastionhost,您可以參考如下步驟啟動用戶端ssh-rsa公開金鑰簽名演算法。

      1. 在您的伺服器執行以下命令,開啟ssh_config設定檔。

        vim /etc/ssh/ssh_config
      2. 在ssh_config設定檔中,添加如下配置內容並儲存。

        HostKeyAlgorithms +ssh-rsa
        PubkeyAcceptedAlgorithms +ssh-rsa
      3. 重啟sshd服務。

        systemctl restart sshd
    • 使用Bastionhost訪問伺服器(Rocky 9、Ubuntu 22.04及以上版本),您可以參考如下步驟啟動遠程伺服器ssh-rsa公開金鑰簽名演算法。

      1. 在您的伺服器執行以下命令,開啟sshd_config設定檔。

        vim /etc/ssh/sshd_config
      2. 在sshd_config設定檔中,添加如下配置內容並儲存。

        HostKeyAlgorithms +ssh-rsa
        PubkeyAcceptedAlgorithms +ssh-rsa
      3. 重啟sshd服務。

        systemctl restart sshd

通過SSH方式營運登入Bastionhost時,能否使用密鑰作為認證方式?

可以。當使用SSH方式登入Bastionhost60022連接埠時,您可以使用密鑰或密碼作為認證方式。

營運人員如何修改Bastionhost使用者密碼?

您可以通過以下方式修改Bastionhost使用者密碼:

  • 聯絡Bastionhost執行個體管理員進行修改。

  • 登入Bastionhost執行個體後,自行修改您的登入密碼。具體操作,請參見營運員安全性原則

使用者密碼到期後,是否影響使用者公開金鑰的方式登入Bastionhost?

密鑰認證不受影響。

如何產生密鑰並設定密鑰認證訪問伺服器?

Bastionhost支援RSA格式密鑰和Ed25519格式密鑰。下面以root帳號為例,為您介紹如何產生RSA格式的密鑰。

  1. 在ECS資產,使用以下命令切換到.ssh目錄下。

    cd ~/.ssh/
  2. .ssh目錄下,執行如下命令,產生RSA密鑰。

    ssh-keygen -t RSA -m PEM

    執行完成後,在目前的目錄會產生RSA金鑰組,即私密金鑰id_rsa和公開金鑰id_rsa.pub。

  3. 將私密金鑰id_rsa內容複寫到Bastionhost主機賬戶。具體操作,請參見配置主機賬戶

  4. 執行如下命令,將公開金鑰id_rsa.pub拷貝至authorized_keys目錄中。

    cp id_rsa.pub authorized_keys
說明
  • CreateHostAccount介面傳參時,密鑰需使用base64編碼。

  • 密鑰認證優先順序最高。當密鑰認證失敗時,會切換到密碼驗證方式。