
我在 Google Cloud 上有一台使用 Bitnami 建立的 Linux 機器。
它運作良好,可以透過 SSH、使用 Web 控制台或 Putty 進行存取。然而今天突然無法透過 SSH 以任何方式訪問它。當我嘗試編輯虛擬機器並更改 SSH 金鑰或對其進行任何其他更改時,我收到以下錯誤訊息:
Editing VM instance:"***" failed.
Error:Supplied fingerprint does not match current metadata fingerprint
VM 仍在運行,其上部署的服務仍在運行,但無法進行任何更改。我還有大約 10 個其他虛擬機,它們都仍然具有 SSH 存取權。
我嘗試遵循 GC 文件上的幾個指南,但如果沒有命令列訪問,幾乎沒有一個可以完成。
答案1
正如評論中所建議的,您應該檢查為此虛擬機器設定的 SSH 金鑰是否正確且阻止專案範圍的 SSH 金鑰未選取。
如果沒有 SSH 金鑰,您可以產生自己的金鑰對:在本機上
執行並複製 id_rsa.pub 的內容, 選擇ssh-keygen -t rsa -b 4096 -C "[email protected]"
編輯在虛擬機器詳細資料頁面中,按顯示和編輯, 然後新增項目並粘貼它。
雲端控制台會自動檢查密鑰語法。
在底部儲存並嘗試從本機或 PuTTy 存取 VM。
如果您使用不同的作業系統或需要更多信息,您可以找到它這裡。
如果手動建立的對無法解決問題,您可以嘗試使用序列控制台存取虛擬機器:
首先啟用串行埠存取:
--metadata serial-port-enable=TRUE
然後新增臨時帳戶:選擇受影響的虛擬機,按編輯,並新增自訂元資料:
鑰匙:startup-script
價值:#!/bin/bash useradd --groups google-sudoers tempuser echo "tempuser:password" | chpasswd
儲存您的變更並按連接到串行控制台
從那裡,您可以檢查 ssh 服務狀態或編輯~/.ssh/authorized_keys
如果這些步驟都沒有幫助,您可以克隆您的實例。