【问题标题】:Importing Key Pair into Amazon AWS - wrong fingerprint?将密钥对导入亚马逊 AWS - 指纹错误?
【发布时间】:2013-10-15 14:29:34
【问题描述】:

我正在尝试从我的计算机导入现有密钥对以在 EC2 中使用。但是,一旦我单击“是,导入”,亚马逊显示的指纹与 ssh -lf 显示的相同密钥的指纹不匹配。我已经验证它们是相同的密钥,尝试重新导入密钥等。常见的做法似乎是使用“创建密钥对”部分,但我更喜欢使用我通常的 SSH 密钥对。我也无法使用 SSH 登录到设置为使用此密钥对的实例(我得到 Permission denied (publickey).)。

有人在使用 AWS 时遇到过此类问题吗?关于问题可能是什么的任何见解?

【问题讨论】:

标签: amazon-web-services ssh amazon-ec2


【解决方案1】:

指纹差异似乎有an answer in the AWS forums。我将内容粘贴在这里以供后代使用:

你好,

我与同事讨论过,看起来这是一个限制 我们最终以不同格式提供密钥对。你会注意到 亚马逊生成的密钥对和导入密钥的不同长度 一对。对于亚马逊生成的密钥对,指纹是 对于私钥,而如果您使用导入密钥配对指纹 用于您的公钥。亚马逊不保留生成的副本 私钥,但 EC2 命令行工具确实提供了一种方法 重现 SSH2 MD5 指纹:

ec2-fingerprint-key ./testpair1-private.pem 61:26:cc:7d:2a:2c:a4:e9:fb:86:ca:ef:57:d6:68:f8:24:bc:59:cd

这应该与您在控制台中看到的区域相匹配 您创建了密钥,例如 US-West-1(北加利福尼亚)。 不幸的是,ec2-fingerprint-key 命令行工具没有 指纹公钥。如果您将公钥导入另一个 区域(例如 US-East-1),Web AWS 控制台将仅显示 公钥的指纹。

其次,AWS 控制台应该更清楚地说明究竟是什么类型的 它显示的指纹,即“MD5公钥指纹” 在 RFC4716 的第 4 节中指定”(也称为 SSH2 格式) 为 这里提到:

http://docs.amazonwebservices.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-ImportKeyPair.html

我们已经为基于 Web 的 AWS 控制台提出了功能请求 支持更常见的 OpenSSH 格式。不幸的是我不是 能够找到任何用户友好的工具来生成 SSH2/RFC4716 格式化指纹,虽然我确实发现你可以导入相同的 您原始区域中的公钥(名称如“Test2”)和 匹配区域之间显示的指纹。

(强调我的)

正如他所提到的,我也找不到任何工具来生成 SSH2/RFC4716 格式指纹。这至少解决了指纹不匹配的谜团(至少如果我们假设ssh-keygen -lf 以“更常见的 OpenSSH 格式”输出,如果这个假设是错误的,请纠正我);当我尝试 ssh 时,我仍然会收到 Permission denied (publickey),但我会假设它现在不是真正的密钥不匹配并探索其他途径。

【讨论】:

  • 有趣的答案,谢谢。顺便说一句,你是怎么解决这个问题的(我想你现在应该有)?
  • 我自己忘记指定admin@... >_
  • 老问题,但我今天也有同样的权限被拒绝(公钥),并且用头敲了近半个小时......直到意识到我已经启动了一个 Amazon Linux 映像而不是一个 Ubuntu 映像,所以默认用户是 ec2-user 而不是 ubuntu
【解决方案2】:

这是验证指纹的另一种方法:

openssl pkcs8 -in my-aws-key.pem -nocrypt -topk8 -outform DER | openssl sha1 -c

【讨论】:

    猜你喜欢
    • 2015-09-26
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    相关资源
    最近更新 更多