Compute Engine - 快照中的實例沒有任何 ssh

Compute Engine - 快照中的實例沒有任何 ssh

我在 Google Cloud/Compute Engine 上有 Ubuntu 伺服器,可以正常運作。我可以從命令列 ssh 進入它,或從 Google Cloud 儀表板控制台 ssh 進入它。

當我拍攝它的快照來克隆伺服器時,我無法透過 ssh 進入新的克隆。 ssh 守護程式似乎沒有在監聽。我甚至無法從 Google Cloud 儀表板 ssh 進入它。

有誰知道為什麼?

從串行控制台(注意-我在粘貼中編輯了 sha256):

Mar 20 20:16:19 qa-for-work cloud-init[1042]: Generating public/private ed25519 key pair.
Mar 20 20:16:19 qa-for-work cloud-init[1042]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
cloud-init[1042]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
Mar 20 20:16:20 qa-for-work cloud-init[1042]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
[  110.667373] cloud-init[1042]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
Mar 20 20:16:20 qa-for-work cloud-init[1042]: The key fingerprint is:
[  110.667475] cloud-init[1042]: The key fingerprint is:
Mar 20 20:16:20 qa-for-work cloud-init[1042]: SHA256:u6ros 4MQtfpO5GM root@qa-for-work
[  110.667560] cloud-init[1042]: SHA256:u6ros 1GtaVy4MQtfpO5GM root@qa-for-work
Mar 20 20:16:20 qa-for-work cloud-init[1042]: The key's randomart image is:
[  110.667644] cloud-init[1042]: The key's randomart image is:
Mar 20 20:16:20 qa-for-work cloud-init[1042]: +--[ED25519 256]--+
[  110.667775] cloud-init[1042]: +--[ED25519 256]--+
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | o*o..=+o...     |
[  110.667864] cloud-init[1042]: | o*o..=+o...     |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | o.o.o.+...      |
[  110.667939] cloud-init[1042]: | o.o.o.+...      |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |  o . ...o .     |
[  110.668037] cloud-init[1042]: |  o . ...o .     |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |   = . .. +      |
[  110.668116] cloud-init[1042]: |   = . .. +      |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |  + = o S  .     |
[  110.668192] cloud-init[1042]: |  + = o S  .     |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | o + o + .       |
[  110.668275] cloud-init[1042]: | o + o + .       |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |o + o   E        |
[  110.668349] cloud-init[1042]: |o + o   E        |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |.*.+ . + o       |
[  110.668503] cloud-init[1042]: |.*.+ . + o       |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |ooB+o...o        |
[  110.668596] cloud-init[1042]: |ooB+o...o        |
Mar 20 20:16:20 qa-for-work systemd[1]: Started Initial cloud-init job (metadata service crawler).
Mar 20 20:16:20 qa-for-work cloud-init[1042]: +----[SHA256]-----+
[  110.668946] cloud-init[1042]: +----[SHA256]-----+
Mar 20 20:16:20 qa-for-work ntpdate[1023]: adjust time server 169.254.169.254 offset 0.361638 sec
Mar 20 20:16:20 qa-for-work systemd[1]: Reached target Network is Online.
Mar 20 20:16:20 qa-for-work systemd[1]: Reached target Cloud-config availability.
Mar 20 20:16:20 qa-for-work systemd[1]: Startup finished in 7.356s (kernel) + 1min 42.350s (userspace) = 1min 49.706s.

答案1

問題是我在原始實例上有一個附加磁碟。

解決方案是註解掉附加磁碟的安裝/etc/fstab

如果未掛載非根掛載點,普通的 Linux 系統將繼續啟動並執行 ssh。串行控制台中沒有錯誤訊息表明此乙太網路。

儘管谷歌的雲仍然是我最喜歡的雲,但這對他們來說是一個重大失敗。

答案2

如果新實例是從來源實例的快照建立的,則從快照產生的新實例上的 sshd 配置應與來源實例的配置沒有不同。

當您嘗試從 Cloud Shell 進行 SSH 時,收到的錯誤訊息是什麼?

$ gcloud compute ssh INSTANCE_NAME

當您拍攝快照時,它是磁碟的快照,不包含有關來源電腦其他方面的任何資訊。

您從快照建立的新實例是否可能未指派與來源實例相同的網路標籤(這可能會阻止連接埠 22 存取新實例)?我認為這絕對值得檢查。

另外,請確保您已為新電腦指派了外部 IP 位址。

編輯:

我添加了一些與海報更新信息相關的附加信息,該信息涉及影響實例啟動(從而影響對實例的 SSH 訪問)的無效 fstab 條目。

有一些有用的信息這裡關於將 [NOFAIL_OPTION] 新增至 fstab 項目,該變數指定作業系統在啟動時無法掛載永久磁碟時應執行的動作。這可用於防止與無效 fstab 條目相關的開機問題。

相關內容