小编典典

SSH 访问 Amazon EC2 实例时权限被拒绝(公钥)

all

我想使用我的 Amazon ec2 实例,但遇到以下错误:

Permission denied (publickey).

我已经创建了我的密钥对并下载了 .pem 文件。

鉴于:

chmod  600 pem file.

然后,这个命令

ssh -i /home/kashif/serverkey.pem  ubuntu@ec2-54-227-242-179.compute-1.amazonaws.com

但是有这个错误:

Permission denied (publickey)

另外, 我如何连接 filezilla 来上传/下载文件?


阅读 91

收藏
2022-03-31

共1个答案

小编典典

此错误消息表示您未能进行身份验证。

这些是可能导致这种情况的常见原因:

  1. 试图用错误的键连接。你确定这个实例正在使用这个密钥对吗?
  2. 尝试使用错误的用户名连接。ubuntu是基于 ubuntu 的 AWS 发行版的用户名,但在其他一些用户名上是ec2-user(或admin在某些 Debian 上,根据 Bogdan Kulbida 的回答)(也可以是root, fedora,见下文)
  3. 试图连接错误的主机。这是您尝试登录的正确主机吗?

请注意,如果您弄乱了EC2 实例1.上的文件,也会发生这种情况。/home/<username>/.ssh/authorized_keys

关于2.,AMI 图像描述中通常缺少关于您应该使用哪个用户名的信息。但是您可以在 AWS EC2 文档中找到一些要点4.http
://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

使用 ssh 命令连接到实例。您将指定私钥 (.pem) 文件和 user_name@public_dns_name。对于 Amazon
Linux,用户名为 ec2-user。对于 RHEL5,用户名是 root 或 ec2-user 。对于 Ubuntu,用户名为
ubuntu 。对于 Fedora,用户名是 fedoraec2-user 。对于 SUSE Linux,用户名为
root 。否则,如果 ec2-user 和 root 不起作用,请咨询您的 AMI 提供商。

最后 ,请注意身份验证失败的原因还有很多。如果您想将选项添加到 SSH 命令并阅读输出,那么 SSH
通常会非常明确地说明出了什么问题-v,正如该问题的许多其他答案中所解释的那样。

2022-03-31