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

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

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

支援的作業系統

Compute Engine 上的所有公開 Linux 映像檔都支援這些連線方法。如要使用這些方法,您必須先設定 SSH 存取權。

啟用根登入

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

OS 登入 VM

如要啟用根登入,請按照下列步驟操作:

  1. 建立安全殼層金鑰。複製公開安全殼層金鑰,以供稍後使用。

  2. 按照平常的方式連線至 VM。

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

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  4. 使用下列指令建立 /root/.ssh 目錄:

    sudo mkdir /root/.ssh
    
  5. 執行下列指令,設定 .ssh 目錄的權限:

    sudo chmod 700 /root/.ssh
    
  6. 執行下列指令,建立 authorized_keys 檔案:

    sudo touch /root/.ssh/authorized_keys
    
  7. 執行下列指令,設定 authorized_keys 檔案的權限:

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. 將公開安全殼層金鑰貼到 /root/.ssh/authorized_keys 檔案。

  9. 重新啟動 VM,或執行 VM 作業系統的重新啟動指令,即可重新啟動 sshd 精靈。等待 VM 重新啟動,然後以超級使用者身分連線。

非 OS 登入 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 重新啟動,然後以超級使用者身分連線。

以超級使用者身分連線

啟用根登入後,請以超級使用者身分連線至 VM。 如果連線至已啟用 OS 登入的 VM,則必須使用第三方工具,而非 gcloud CLI。

gcloud

注意:如果連線的 VM 已啟用 OS 登入功能,您必須使用第三方工具以超級使用者身分連線。

使用 gcloud compute ssh 指令,並在 VM 名稱前指定 root@,以超級使用者身分連線至 VM:

  1. 在 Google Cloud 控制台啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。

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

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

    更改下列內容:

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

第三方工具

按照 VM 的操作說明,以根使用者身分連線至 VM:

疑難排解

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

後續步驟