Google-Compute-Engine

無法通過 SSH 連接到 Google Cloud VM,如何調試?

  • February 14, 2020

我有一個在Google云虛擬機上執行的 VNC 伺服器。它有一個奇怪的錯誤“無法打開 Chrome,記憶體不足”。所以我重新開始了。

VNC 伺服器是一個設置為自動重啟的 docker 容器。

現在,無論我“重置”或“停止”實例多少次,SSH 登錄都會永遠循環並超時。和 VNC 伺服器 404s。

如果我不能 ssh,我該如何調試?

檢查 VM 上發生的事情的最簡單方法是Compute Engine-> VM instances-> 點擊 NAME_OF_YOUR_VM -> 在VM instance details查找部分Logs並點擊,在Serial port 1 (console)那裡你會發現很多日誌消息,你應該主要搜尋“沒有空間”左”錯誤。正如您在處理“無法連接,重試…”錯誤的文件中找到的那樣:

實例的啟動盤已用完可用空間。建立連接後,來賓環境使用目前會話使用的公共 SSH 密鑰更新 ~/.ssh/authorized_keys 文件。如果磁碟的可用空間不足,更新將失敗。要確定磁碟空間問題,請檢查實例的串列控制台輸出並查找“沒有剩餘空間”錯誤

如果您發現“沒有剩餘空間”錯誤消息,請按照以下說明操作:

  • 調整實例的啟動永久性磁碟的大小以增加其大小。如果實例使用的作業系統鏡像支持自動調整大小,這是最簡單的選項,因為作業系統會在實例重啟後自動調整根分區的大小以匹配新的大小。
  • 如果您知道哪些文件正在使用磁碟空間,請創建一個啟動腳本,刪除不必要的文件並釋放空間

以啟動實例。重新啟動實例,以便腳本執行

並清理文件。小心使用正確的命令並

刪除正確的文件。在您的實例啟動並且您能夠通過 SSH 連接到該實例後,將啟動腳本

元數據項重新設置,使其不會繼續刪除文件。

在某些情況下,您應該遵循恢復無法訪問的實例或完整的啟動磁碟指南:

如果一個實例完全沒有磁碟空間,或者它沒有執行 Linux 來賓環境,那麼即使您增加了支持它的永久磁碟的大小,也無法自動調整根文件系統的大小。如果您無法連接到您的實例,或者您的啟動磁碟已滿且您無法調整其大小,則您必須創建一個新實例並從快照重新創建啟動磁碟以調整其大小

您可以在此處找到分步說明。

**如果您的問題與磁碟空間無關,您可以嘗試使用 Compute Engine 的故障排除腳本**對其進行調試,以確定 Google 提供的基於 Linux 的實例的 SSH 登錄/可訪問性問題。

此外,您可以按照本指南嘗試通過串列控制台連接到您的虛擬機,但請記住:

互動式串列控制台不支持基於 IP 的訪問限制,例如 IP 白名單。如果您在實例上啟用互動式串列控制台,客戶端可以嘗試從任何 IP 地址連接到該實例。

您可以在文件中找到更多詳細資訊。

請隨時在您的問題中提供更多詳細資訊,我會更新我的答案。

引用自:https://serverfault.com/questions/1002968