簡體   English   中英

無法 SSH 進入 Google Cloud VM

[英]Can't SSH into Google Cloud VM

我能夠成功地將 SSH 安裝到我昨天設置的 Google Cloud VM 中,但今天由於某種原因我不能,而且我沒有弄亂任何設置,尤其是防火牆設置。 它現在一直給我這些錯誤:

通過 Cloud Identity-Aware Proxy 連接失敗代碼:4003 原因:無法連接到后端 您可以在不使用 Cloud Identity-Aware 代理的情況下進行連接。

然后,當我單擊“在沒有身份識別代理的情況下連接”時,我收到以下錯誤:

連接失敗 我們無法在端口 22 上連接到 VM。了解有關此問題可能原因的更多信息。

我不知道發生了什么。 昨天還好好的,現在不行了。

基於這些錯誤消息,我猜您的項目啟用了 Identity-Aware Proxy (IAP) ,這有時可能會影響 SSH 進入實例的能力,具體取決於配置。

為了排除這種情況,您可以嘗試以下方法:

首先,嘗試禁用 Cloud Identity-Aware Proxy 並通過 web 控制台連接到 VM 實例。

之后,檢查日志:

  • Go 到Compute Engine -> VM instances -> 點擊 NAME_OF_YOUR_VM -> 在VM instance details找到Logs部分,然后點擊Serial port 1 (console)
  • 重新啟動您的虛擬機實例。
  • 檢查完整的啟動日志是否有任何錯誤或/和警告。

如果您的 VM 實例未啟動,請按照文檔常規故障排除驗證您的磁盤是否具有有效的文件系統和有效的主引導記錄 (MBR)。

如果您發現與磁盤空間相關的錯誤/警告,您可以嘗試根據Resizing a zonal persistent disk文檔調整其大小,也可以參考Recovering an inaccessible instance or a full boot disk文章:

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

否則嘗試通過串行控制台訪問您的 VM 實例:

  • 使用gcloud命令啟用串行控制台連接

     gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \ --metadata serial-port-enable=TRUE

    或 go 到Compute Engine -> VM instances -> 點擊NAME_OF_YOUR_VM_INSTANCE -> 點擊EDIT -> go 到Remote access部分並選中Enable connecting to serial ports

  • 創建臨時用戶和密碼以登錄:關閉您的虛擬機並通過在Custom metadatastartup-script和值部分添加來設置啟動腳本

     useradd --groups google_sudoers tempuser echo "tempuser:password" | chpasswd

    然后啟動你的虛擬機。

  • 使用gcloud命令通過串口連接到你的虛擬機

     gcloud compute connect-to-serial-port NAME_OF_YOUR_VM_INSTANCE

    或 go 到Compute Engine -> VM instances -> 點擊NAME_OF_YOUR_VM_INSTANCE -> 並點擊Connect to serial console

  • 檢查出了什么問題。

  • 使用gcloud命令禁用通過串口的訪問

     gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE \ --metadata serial-port-enable=FALSE

    或 go 到Compute Engine -> VM instances -> 點擊NAME_OF_YOUR_VM_INSTANCE -> 點擊EDIT -> go 到Remote access部分並取消選中Enable connecting to serial ports 請記住,根據文檔Interacting with the serial console

    注意:交互式串行控制台不支持基於 IP 的訪問限制,例如 IP 白名單。 如果您在實例上啟用交互式串行控制台,客戶端可以嘗試從任何 IP 地址連接到該實例。 如果知道正確的 SSH 密鑰、用戶名、項目 ID、區域和實例名稱,任何人都可以連接到該實例。 使用防火牆規則來控制對您的網絡和特定端口的訪問。

如果您無法通過串行控制台進行連接,請嘗試按照文檔故障排除 SSH部分檢查 VM 實例而不關閉它並檢查另一個 VM 上的 VM 磁盤。 同樣的方式,您可以將數據傳輸到另一個工作的 VM 實例。

我在運行作曲家更新時遇到了同樣的問題。

在我的情況下,重新啟動 VM-Instance 已經解決了它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM