本文說明如何以超級使用者身分連線至 Linux 虛擬機器 (VM) 執行個體,以便在 VM 上啟用超級使用者權限。根據預設,使用公開映像檔和多數常見作業系統建立的 Compute Engine VM 不允許透過 SSH 使用密碼登入 root。
除了以根使用者身分連線至 VM,您也可以透過 sudo
執行指令,我們建議您改用這種方式,而不要啟用根登入功能。
支援的作業系統
這些連線方法適用於 Compute Engine 提供的所有公開 Linux 映像檔。針對 Fedora CoreOS 映像檔,您必須先設定 SSH 存取權,才能使用這些方法。
啟用 root 登入功能
根據預設,Compute Engine VM 會在 /etc/ssh/sshd_config
SSH 設定檔中將 PermitRootLogin
參數設為 prohibit-password
或 no
。按照 VM 的操作說明啟用 root 登入功能:
OS 登入 VM
請按照下列步驟啟用根目錄登入功能:
建立安全殼層金鑰。複製公開安全殼層金鑰,以供日後使用。
以平常的方式連線至 VM。
執行下列指令,將
/etc/ssh/sshd_config
檔案中的PermitRootLogin no
變更為PermitRootLogin prohibit-password
:sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
使用下列指令建立
/root/.ssh
目錄:sudo mkdir /root/.ssh
執行下列指令,設定
.ssh
目錄的權限:sudo chmod 700 /root/.ssh
執行下列指令,建立
authorized_keys
檔案:sudo touch /root/.ssh/authorized_keys
執行下列指令,設定
authorized_keys
檔案的權限:sudo chmod 600 /root/.ssh/authorized_keys
將公開安全殼層金鑰貼到
/root/.ssh/authorized_keys
檔案中。重新啟動 VM 或執行 VM 作業系統的重新啟動指令,以便重新啟動
sshd
精靈。等待 VM 重新啟動,然後以超級使用者身分連線。
非 OS 登入 VM
請按照下列步驟啟用根目錄登入功能:
以平常的方式連線至 VM。
執行下列指令,將
/etc/ssh/sshd_config
檔案中的PermitRootLogin no
變更為PermitRootLogin prohibit-password
:sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
重新啟動 VM 或執行 VM 作業系統的重新啟動指令,以便重新啟動
sshd
精靈。等待 VM 重新啟動,然後以超級使用者身分連線。
以 root 使用者身分連線
啟用 root 登入功能後,請以 root 使用者身分連線至 VM。 如果您連線至已啟用 OS 登入功能的 VM,則必須使用第三方工具,而非 gcloud CLI。
gcloud
注意:如果您要連線的 VM 已啟用 OS 登入功能,您必須使用第三方工具以根目錄使用者身分連線。
使用 gcloud compute ssh
指令連線至 VM,並在 VM 名稱前指定 root@
:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google 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.
請執行下列指令,連線至 VM:
gcloud compute ssh \ --project=PROJECT_ID \ --zone=ZONE \ root@VM_NAME
更改下列內容:
PROJECT_ID
:包含 VM 的專案 IDZONE
:VM 所在的可用區名稱VM_NAME
:VM 名稱
第三方工具
按照 VM 的操作說明,以 root 使用者身分連線至 VM:
疑難排解
如要瞭解如何診斷及解決 SSH 連線失敗的問題,請參閱「SSH 疑難排解」一文。
後續步驟
- 瞭解如何管理 VM 存取權。
- 瞭解如何將檔案轉移至 VM。
- 瞭解如何透過 SSH 連線至 Linux VM,在 Compute Engine 上執行。