以超級使用者身分連線至 Linux VM

本文說明如何以超級使用者身分連線至 Linux 虛擬機器 (VM) 執行個體,以便在 VM 上啟用超級使用者權限。根據預設,從公開映像檔和多數常見作業系統建構的 Compute Engine VM,不允許透過 SSH 使用密碼執行 root 登入作業。

除了以超級使用者身分連線至 VM,您也可以透過 sudo 執行指令,建議您採用這種做法,而非啟用超級使用者登入。

支援的作業系統

Compute Engine 提供的所有公開 Linux 映像檔都支援這些連線方法。如果是 Fedora CoreOS 映像檔,您必須先設定 SSH 存取權,才能使用這些方法。

啟用根登入

根據預設,Compute Engine VM 會在 /etc/ssh/sshd_config SSH 設定檔中,將 PermitRootLogin 參數設為 prohibit-passwordno。按照 VM 的操作說明啟用根層級登入:

請按照下列步驟啟用根登入:

  1. 以平常的方式連線至 VM

  2. /etc/ssh/sshd_config 檔案中,執行下列指令將 PermitRootLogin no 變更為 PermitRootLogin prohibit-password

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  3. 重新啟動 VM,或執行 VM 作業系統的重新啟動指令,即可重新啟動 sshd 精靈。等待 VM 重新啟動,然後以超級使用者身分連線。

以 root 使用者身分連線

啟用根登入後,請以根使用者身分連線至 VM。

gcloud

使用 gcloud compute ssh 指令連線至 VM,並在 VM 名稱之前指定 root@,即可連線至 VM 並以超級使用者身分執行安全殼層:

  1. In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 執行下列指令,連線至 VM:

    gcloud compute ssh \
        --project=PROJECT_ID \
        --zone=ZONE \
        root@VM_NAME
    

    更改下列內容:

    • PROJECT_ID:含有 VM 的專案 ID
    • ZONE:VM 所在的可用區名稱
    • VM_NAME:VM 名稱

    第三方工具

    1. 為根使用者建立 SSH 金鑰。金鑰的使用者名稱必須為 root

    2. 將根使用者的金鑰新增至中繼資料

    3. 使用第三方工具連線,並指定下列項目:

      • 私密金鑰:根使用者的私密金鑰

      • 使用者名稱:使用者名稱必須為 root

疑難排解

如要瞭解如何診斷及解決 SSH 連線失敗的問題,請參閱「排解 SSH 問題」。

後續步驟