在GCE上使用静态/已知的SSH密钥

我们经常在Google Compute Engine上放置和重新创build计算机,以便testing和testing环境,执行故障转移testing等。

问题是,GCE总是重新创build从图像或快照创build的每个新实例上的SSH服务器密钥。

在执行scp或ssh操作时,有哪些容易在计算机上接受静态SSH密钥或SSH密钥的简单方法?

如果你只是用你的机器进行testing(当然是testing一些东西,然后ssh本身),安全性也不是问题(封闭的环境),你可以把它作为你的安装脚本的一部分/ kickstart / first boot从某个地方而不是自己生成(分发之间触发密钥生成的方式不同,但是您会发现 – 只有在第一次服务启动时丢失它们的情况下,RHEL才会创build它们)。

如果您的gcloud compute ssh <target instance>目录中已经有私钥google_compute_engine文件,则使用gcloud compute ssh <target instance>命令不应生成新密钥。 但是,如果您将使用其他用户名或尝试从新创build的VM实例进行SSH连接,则gcloud compute ssh命令将生成一个新的私钥/公钥以符合安全要求。

您可以将私钥复制到特定的计算机或本地计算机,并始终从那里进行SSH。 这将消除生成新的密钥。

如果这是关于SSH主机密钥的,那么你可以使用ssh命令(OpenSSH)的-o StrictHostKeyChecking=no选项绕过主机密钥真实性的检查。