为什么 Google 建议从 GCE 中删除 SSH 密钥以确保安全?

Mar*_*ryl 15 cloud cloud-computing ssh hostkey google-compute-engine

以下对 Google 文档的引用不再正确。

Google 建议从 GCE 实例中删除 SSH 密钥以保护 SSH。这对我来说没有任何意义。钥匙是为了安全,对吧?当我删除密钥时,SSHD 停止工作。我可能错过了他们的观点。有人可以解释一下这是什么意思:

删除 ssh 主机密钥

不要在您的实例中使用 ssh 主机密钥。删除它们如下:

rm /etc/ssh/ssh_host_key
rm /etc/ssh/ssh_host_rsa_key*
rm /etc/ssh/ssh_host_dsa_key*
rm /etc/ssh/ssh_host_ecdsa_key*
Run Code Online (Sandbox Code Playgroud)

fak*_*ker 13

我能想到的唯一可能原因是他们想强迫您重新生成新密钥。
由于这些密钥是在您访问之前生成的,因此它们可能不受信任。
删除它们并重新启动sshd将为您重新生成密钥。
然而,该文件并没有真正说明这一点。

这纯粹是猜测,最好与他们联系并对此进行澄清。

  • 感谢您的答复。我需要通过 ssh 连接到服务器以重新启动 `sshd`。但是要连接,我需要接受“不受信任”服务器的主机密钥。因此,我在本次会议期间所做的任何事情都不能被信任。甚至重启sshd。对? (4认同)

小智 12

关键细节是您引用的页面是关于创建新的 Compute Engine 机器映像。具体来说,当您创建新的虚拟机映像时,您要确保它不包含任何主机密钥。这样,当镜像被克隆并重组到实际的虚拟机中时,sshd 启动脚本会识别出没有主机密钥,并自动生成新的。这是可取的,因为让多台机器使用相同的主机密钥是一个非常糟糕的主意。

因此,在一般情况下,请不要删除您的主机密钥,但如果您要创建新映像,这是确保主机密钥和机器之间存在一对一关系的重要步骤。