【GCP常見問答】無法使用 SSH 連線至主機,該如何除錯?

無法 SSH 有多種可能性,可以從最容易排查的開始進行

  • 使用者權限 - IAM 權限

  • 網路相關 - 確認 VM 可以連線至網路和 Port 22 是否有打開

  • VM 的狀態 - 是否為 Running 狀態

除錯步驟

確認以下設定以及狀態是否正常:


  1. 檢查防火牆規則有沒有開放 22 port 和 network tag 是否正確

  2. 檢查 VM CPU/RAM 使用率,CPU 使用率 80-90% 時也會造成 VM 太忙無法回應。 如果 CPU 使用率太高,請客戶先調整 VM 內可能造成 CPU 使用率過高的程式或是重啟實例,等 CPU 使用率下降之後再嘗試連線。

  3. 檢查 Guest environment 是否有正常啟動 [2]

確認您使用連線的方式:

1. 透過 GCP console 連線


  1. 因 GCP console 是使用 web socket 連線至 IAP 再連線 VM,因此需要先檢查 Identity-AwareProxy (IAP) 設定是否正確。

  • IAP-secured Tunnel User 權限

  • Firewall rules IP range 為 35.235.240.0/20

2. 透過第三方工具連線 SSH。


  1. 檢查 SSH key 是否匹配。

3. 使用 OS Login


  1. 檢查是否啟用 OS login,限制特定使用者才能夠登入。檢查客戶 VM 使用的 OS ,是否過於陳舊

    • 需注意的角色 (roles) 權限:
    • compute.osLoginExternalUser // 若當前專案屬機構下而需要邀請機構以外的使用者

    • compute.osAdminLogin // OS login admin root

    • compute.osLogin // 一般 OS login

    • 是否啟用 OS login 功能:前往 GCP console -> Compute Engine -> Metadata 設定為 enable-oslogin: TRUE

  2. 是否啟用 OS login 功能:前往 GCP console -> Compute Engine -> Metadata 設定為 enable-oslogin: TRUE


如上述都無法成功連線,請啟用 Serial Console 查看錯誤訊息。

常見的錯誤 Log:

Q: GCEGuestAgent Error non_windows_accounts.go:158: Error updating SSH keys for {USER}: mkdir /home/{USER}/.ssh: no such file or directory.


A: 需手動從 serial console 進去新增此路徑


-----


Q: Connection Failed


系統錯誤訊息:You cannot connect to the VM instance because of an unexpected error. 並且在關機重開該機器、調整機器內設定時遇到以下 error:


Operation type [start] failed with message "The resource '*@*.com' of type 'serviceAccount' was not found."

A: Service account 遭到刪除、無法找到時會跳該 Error,將機器關機調整 service account 即可解決。


-----


Q: 在檢查 VM log 時,並未發現此 log ```GCEGuestAgent Info: GCE Agent Started (version YYYYMMDD.NN) ```


此問題是 Google guest environment [1] 並未自動啟動,因此需可以嘗試以下方式:


  1. 重新開機

  2. 從 Serial console 進去手動啟用服務 [2]

sudo systemctl enable google-guest-agent


sudo systemctl start google-guest-agent 


  1. 更新至最新版本 

sudo apt update


sudo apt install google-compute-engine google-compute-engine-oslogin \


google-guest-agent google-osconfig-agent

Contact CloudMile

聯絡我們

不論產業,我們擁有豐富的服務經驗

Phone Number

電話

  • TW+886
  • TW+886
  • Reason for Inquiry

    諮詢服務

  • Electrum Advisory 策略諮詢

  • MileInfra 雲端基礎架構現代化

  • 企業教育訓練

  • MileSec 多雲資安防禦與維運

  • MileData 雲端數據管理與⾃動化

  • MileOps 混合雲多雲雲端維運

  • MileAI 企業⽣成式 AI 應⽤與創新

  • LumiTure.ai 以 AI 驅動的FinOps 平台

  • 其他

  • 請填寫電子信箱