[英]Google Cloud Platform fix SSH
我的谷歌計算引擎上的SSH訪問有問題。 我制作了一台服務器,在其上設置了應用程序並配置了域,一切正常。 幾天后,當我想接近她進行更改時,我的 SSH 沒有工作。 我有一個假設我正在打開防火牆並且我沒有為 SSH 添加規則,也許這是個問題? 但是現在如何訪問機器並啟用它呢?
提前致謝。
要解決您的問題,您可以通過串行控制台連接到您的 VM 實例。 在通過串行控制台連接到 VM 之前,請檢查您是否在GCP Firewall啟用了與 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 metadata
鍵startup-script
和值部分添加來設置啟動腳本:
#:/bin/bash 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、區域和實例名稱,任何人都可以連接到該實例。 使用防火牆規則來控制對您的網絡和特定端口的訪問。
此外,請查看 3rd party example Resolving getting locked out of a Compute Engine 。
如果您無法通過串行控制台檢查日志進行連接:
Compute Engine
-> VM instances
-> 點擊 NAME_OF_YOUR_VM -> 在VM instance details
找到Logs部分,然后點擊Serial port 1 (console)
如果您發現與磁盤空間相關的錯誤/警告,您可以嘗試根據Resizing a zonal persistent disk文檔調整其大小,也可以參考Recovering an inaccessible instance or full boot disk文章:
如果沒有任何幫助,請嘗試遵循文檔故障排除 SSH中的其他建議,並根據您的嘗試更新您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.