【发布时间】:2022-04-06 16:56:37
【问题描述】:
当我创建一个新的 Amazon EC2 服务器时,我像往常一样使用ssh 连接到它。
我看到了典型的警告:
$ ssh myserver
The authenticity of host 'ec2-12-34-567-890.compute-1.amazonaws.com (12.34.567.890)' can't be established.
ECDSA key fingerprint is 31:66:15:d2:19:41:2b:09:8a:8f:9f:bd:de:c6:ff:07.
Are you sure you want to continue connecting (yes/no)?
如何在登录前验证指纹?
理想情况下,答案基于原始创建控制台日志之外的其他内容——因为日志可能会在系统重新启动后被刷新,或者在生成大量输出的大型系统安装脚本期间,或者连接到具有在创建时未跟踪的密钥的旧系统。
【问题讨论】:
-
一种方法是使用您自己的具有已知指纹的密钥(请参阅:serverfault.com/a/581458/86472)。如果您控制实例(并计划场景 - 即设置实例),则在启动时获取指纹很容易 - 您想用它做什么由您决定(例如发布到 S3、Route53、Cloudwatch,通过电子邮件发送给他们, ETC。)。最简单的事情之一就是每小时运行一个 cron 作业来更新您实例上的标签(可从控制台查看)
标签: ssh amazon-web-services amazon-ec2 fingerprint ecdsa