如何在没有 PEM 密钥的情况下通过 ssh 进入 EC2 实例?

Posted

技术标签:

【中文标题】如何在没有 PEM 密钥的情况下通过 ssh 进入 EC2 实例?【英文标题】:How to ssh into EC2 instance without PEM key? 【发布时间】:2017-02-08 09:57:24 【问题描述】:

我创建了一个亚马逊 Ec2 实例,我正在尝试从我的本地计算机 ssh 到服务器。我可以使用 PEM 密钥执行此操作,但即使将本地计算机的公钥添加到授权密钥后,没有它我也无法登录。它只是告诉我“权限被拒绝(公钥)”。这是痕迹。 debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering RSA public key: /Users/joelscalera/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey debug1: Trying private key: /var/root/.ssh/id_rsa debug3: no such identity: /var/root/.ssh/id_rsa: No such file or directory debug1: Trying private key: /var/root/.ssh/id_dsa debug3: no such identity: /var/root/.ssh/id_dsa: No such file or directory debug1: Trying private key: /var/root/.ssh/id_ecdsa debug3: no such identity: /var/root/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: /var/root/.ssh/id_ed25519 debug3: no such identity: /var/root/.ssh/id_ed25519: No such file or directory debug2: we did not send a packet, disable method debug1: No more authentication methods to try. Permission denied (publickey).

【问题讨论】:

请注意,*** 仅用于编程相关问题。请查看help center,了解可以在此处询问的主题。这个问题可能适用于其他 SE 网站,例如 Superuser。首先查看他们的帮助,看看问题是否属于那里,如果是,您可以单击“标记”链接并选择“需要版主注意”以请求在那里迁移。 【参考方案1】:

您可以将 EC2 pem 密钥添加到 ssh

ssh-add ~/.ssh/key_pair.pem

【讨论】:

【参考方案2】:

您需要ssh-agent 在 ssh 期间提供您的 PEM 文件。

首先,启动 ssh-agent:

eval `ssh-agent -s`

然后将您的 PEM 密钥添加到代理

ssh-add <pem-key>

现在您可以在不提供 PEM 的情况下进行 ssh。

【讨论】:

您也可以将上述命令放在您的配置文件中,这样它们就不会在重新启动时持续存在

以上是关于如何在没有 PEM 密钥的情况下通过 ssh 进入 EC2 实例?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有服务器的情况下在本地测试我的 ssh 密钥

ssh通过pem文件登陆服务器

将 ssh-dss 密钥转换为 .pem?

从变量添加 SSH 密钥

通过SecureCRT连接AWS EC2 Linux

Ansible:如何配置没有 ssh 密钥的跳转主机?