GCP帳號認證開戶 修復谷歌雲SSH連接超時
當 SSH 連接變成「等待中」的無盡深淵
相信每個使用 GCP 的開發者都經歷過這種崩潰時刻:準備好了一大堆代碼要部署,滿心歡喜地按下 SSH 按鈕,結果瀏覽器視窗轉啊轉,最後彈出一句冰冷的「Connection Timeout」。那一刻,感覺自己不是在搞雲端運算,而是在跟一個存心刁難你的數位幽靈對話。
別擔心,這不是你的網路壞了,也不是 Google 針對你,這通常只是幾個常見的配置小坑。讓我們拋開那些晦澀難懂的官方文檔,用工程師之間的「人話」,把這個問題徹底解決掉。
第一步:檢查你的防火牆規則(最常見的兇手)
很多時候,SSH 連不上是因為你(或是你的隊友)手抖改了防火牆規則。請記住,GCP 預設的 SSH 埠是 22。如果你的 VPC 防火牆策略裡沒有允許來自外部的 TCP 22 埠流量,那你就只能對著螢幕乾瞪眼。
檢查方法很簡單:前往 VPC 網路 -> 防火牆,搜尋是否有一條允許 22 埠(TCP)的規則,且目標標籤必須正確地對應到你的 VM 實例。如果規則是對的,那就看看你的網路標籤(Network Tags)是否填錯了,這也是新手最容易翻車的地方。
第二步:確認實例是否還活著
這聽起來很愚蠢,但相信我,有時候伺服器因為記憶體耗盡(OOM)或者磁碟寫滿而直接掛掉,SSH 自然連不上。你可以先去 Google Cloud Console 查看一下實例的監控圖表。如果 CPU 使用率突然斷崖式下跌,或者記憶體使用率飆升到 100%,那麼恭喜你,你的機器可能已經崩潰了。
這時候,你可以嘗試強制重啟(Reset)。但要注意,這類似於拔插頭,非必要不要操作,因為可能會導致檔案系統損壞。如果重啟後恢復正常,建議趕緊進去排查是哪個進程吃光了你的資源。
GCP帳號認證開戶 第三步:利用 Google 串列埠(Serial Port)作為最後的救命稻草
如果你怎麼試都連不上,這時候千萬不要放棄。Google 其實貼心地提供了一個「串列埠控制台」(Serial Port)。這就像是你親自跑進機房,插上一條顯示器線到伺服器背後看它在幹嘛。
操作路徑:在 VM 實例詳情頁 -> 編輯 -> 啟用串列埠連接。啟用後,點擊「連接串列埠」。在這裡,你可以看到最底層的開機日誌。如果系統卡在網路初始化,或者提示磁碟掛載錯誤,你一眼就能看出來。這簡直是診斷系統崩潰的終極法寶。
第四步:檢查 OS 內部配置(是否誤鎖了自己)
有些時候,問題出在機器內部。例如,你可能在 `/etc/ssh/sshd_config` 裡修改了 SSH 埠,或者不小心改壞了 `iptables` 規則。這時候,普通的 SSH 指令當然進不去。
這時候,你可以利用「啟動腳本」(Startup Script)功能。透過修改實例元數據,你可以強制在下一次開機時執行一段指令,例如把 SSH 規則改回來,或者重置防火牆。修改完後重啟機器,這通常能救回那些被自己設定給坑死的情況。
第五步:網路介面是否被干擾
有些進階用戶喜歡自己手動設定靜態 IP 或修改網卡參數,這在 GCP 環境中非常危險。GCP 的虛擬機網路是透過 DHCP 動態分配的,如果你在作業系統內手動改了網路設定,很有可能會導致路由表錯誤,直接切斷自己與世界的連線。
如果你不確定自己動過什麼,可以試著檢查 `/etc/network/interfaces` 或 Netplan 配置。如果發現配置混亂,建議直接還原為系統預設的 DHCP 配置。記住,在雲端,除非必要,否則不要去碰底層網路設定。
第六步:如果還是不行,備份磁碟是王道
如果嘗試以上方法後,SSH 依然無情地拒絕你,那可能是底層系統檔案壞了。別慌,GCP 的好處就是磁碟可以靈活分離。你可以先停止該實例,把磁碟(Disk)分離出來,然後掛載到一個全新的、健康的實例上。
當你把壞掉的磁碟掛載到另一個機器後,你就可以輕鬆讀取上面的數據,排查錯誤日誌,甚至直接修復配置文件。這才是雲端架構的優勢,不需要為了修一個檔案就拋棄整個硬體。
總結:保持冷靜,SSH 連接沒你想的那麼難
修復 GCP 的 SSH 連接超時,本質上就是一個「排除法」的遊戲。先從防火牆看起,再檢查實例狀態,接著利用串列埠深入分析,最後動手修復系統設定。大多數時候,我們只是被自己的小失誤困住了。
希望這篇文章能幫你解決燃眉之急。如果你還是連不上,記得去檢查看看是不是被 Google Cloud 的維護通知給坑了,畢竟有時候,真的是機房在動手術,而不是你的代碼有問題。祝你的伺服器連線一路順暢,永不超時!

