簡體   English   中英

谷歌雲平台修復 SSH

[英]Google Cloud Platform fix SSH

我的谷歌計算引擎上的SSH訪問有問題。 我制作了一台服務器,在其上設置了應用程序並配置了域,一切正常。 幾天后,當我想接近她進行更改時,我的 SSH 沒有工作。 我有一個假設我正在打開防火牆並且我沒有為 SSH 添加規則,也許這是個問題? 但是現在如何訪問機器並啟用它呢?

提前致謝。

要解決您的問題,您可以通過串行控制台連接到您的 VM 實例。 在通過串行控制台連接到 VM 之前,請檢查您是否在GCP Firewall啟用了與 VM 實例的連接。

請查看以下分步說明:

  1. 使用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

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

     #:/bin/bash useradd --groups google_sudoers tempuser echo "tempuser:password" | chpasswd

然后啟動你的虛擬機。

  1. 使用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

  2. 檢查出了什么問題。

  3. 使用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、區域和實例名稱,任何人都可以連接到該實例。 使用防火牆規則來控制對您的網絡和特定端口的訪問。

此外,請查看 3rd party example Resolving getting locked out of a Compute Engine

如果您無法通過串行控制台檢查日志進行連接

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

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

如果沒有任何幫助,請嘗試遵循文檔故障排除 SSH中的其他建議,並根據您的嘗試更新您的問題。

暫無
暫無

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

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