服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

在新的EC2实例上设置主机指纹

TL; DR 我可以告诉AWS EC2从AMI启动一个实例,但是保留主机密钥 – 保存在AMI中的/etc/ssh中的密钥 – 而不是生成新密钥并覆盖保存在AMI中的密钥。 完整的问题: 在AWS上,我设置了一个EC2实例作为SFTP主机。 自动化系统(由客户pipe理)将定期将文件传送到那里。 这些系统将通过客户提供的公钥进行authentication。 在EC2实例前面将会有一个弹性IP。 这个IP需要永远保持不变,因为连接到我们的自动化系统依赖于这个恒定性。 在幕后,我想保留在任何时候使用不同的交换EC2实例的能力,并将现有的IP地址与新的服务器重新关联。 (这样做的一些原因是为了启动一个更强大的实例,或者将其他各种服务器整合到一个实例中)。 这种重新关联需要对提供文件的自动化系统是透明的。 但是,我希望自动化系统在我进行这样的切换时会吓坏了,因为它会检测到主机的指纹已经改变。 也许通常这是一件好事,但我相信在这种情况下,因为一个主机应该取代另一个主机,保持身份是适当的。 所以,每当我按照描述交换实例时,我需要将原始主机的公钥复制到新主机中。 实际上,我预计这会自动发生 – 如果我使用相同的AMI来启动这两个主机,但看起来EC2故意将新的公共密钥分配给新的实例,覆盖与AMI保存的任何密钥。 我的问题是什么是达到预期行为的最简单的方法。 我知道如何手动完成,将旧服务器上的密钥复制到新服务器上,并覆盖分配给新服务器的密钥。 但是,我不知道EC2是否有自动或惯用的方式来做到这一点。