小编Jaz*_*epi的帖子

在与 ssh 连接之前,如何将 .pem 私钥指纹条目添加到 known_hosts?

警告 -> 阅读此问题描述时请小心。在写这个问题时,我有一些不正确的假设。请务必阅读我的回答,解释我错在哪里!

我在 AWS 中有主机 A 作为 EC2 实例。

我是一个嵌入在 .PEM 文件中的私钥,我可以用它来托管带有 SSH 密钥 Z 的 A。如果我使用-l参数将它传递给 ssh 命令,并且如果我关闭了严格的主机检查,这会起作用-o StrictHostKeyChecking=no

即使我“知道”这是正确的主机,我也强烈希望保留严格的主机检查,因为我正在与 AWS 接口交互,从它们获取 ip/dns,并且我在我自己的小 VPC 世界中.

似乎提供指纹-> 主机映射的唯一方法是在known_hosts文件中提供它。

那是对的吗?

如果这是正确的,我如何获取嵌入在我从 AWS 获得的 .PEM 文件中的私钥,并为单个指纹构建正确的条目 -> 临时known_hosts文件的主机映射,我可以在登录时读取该文件EC2 实例?

我不想做的事

  • 使用ssh-keyscan. 所有这一切都是盲目地接受远程客户端的指纹,而不验证它是否与密钥匹配。我认为?
  • 关掉StrictHostKeyChecking。我想尽早建立良好的实践,我现在需要知道如何做到这一点,因为我将需要知道一般如何做到这一点。(this我的意思是如何根据我拥有的密钥使用 SSH 指纹来验证我正在连接的主机的身份。)
  • 乱搞ssh-add。我想将其写入一个易于锁定访问的文件,而不是将其放入正在运行的进程中。

编辑:奇怪的是,当我尝试从 pem 文件中提取指纹时,它与我在连接时看到的指纹不匹配,并提示我。

从 PEM 中提取指纹

bash-4.2$ ssh-keygen -l -E md5 -f ./blah.PEM
2048 MD5:be:b1:d7:e1:f0:0f:ce:41:60:fa:97:dc:b8:2c:ed:08 no comment (RSA)
bash-4.2$ …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-keys

6
推荐指数
2
解决办法
2637
查看次数

标签 统计

ssh ×1

ssh-keys ×1