我在 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 條目相關的開機問題。