我想使用我的亚马逊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上传/下载文件?


当前回答

我已经两次有正确的键和ssh命令行(我知道,因为我正在复制一个工作的Ubuntu 14.04实例),但就是不能ssh到一个新实例,即使在上面Wade Anderson建议的等待5分钟之后。

我必须摧毁并重新制造机器。这种情况已经发生过两次。因为一开始我进不去,我看不出有什么问题。

所以,如果你有这个问题,试试这个。

其他回答

当连接我的ubuntu实例时,我忘记添加用户名(ubuntu)。所以我试着这样做:

ssh -i /path/my-key-pair.pem my-ec2-instance.amazonaws.com

正确的方法是

ssh -i /path/my-key-pair.pem ubuntu@my-ec2-instance.amazonaws.com

下面是一个可能产生此错误的令人沮丧的场景:

如果您从另一个实例(例如实例xyz)创建的AMI中导入一个新实例,那么新实例将只接受实例a使用的相同密钥。这是完全可以理解的,但它会令人困惑,因为在创建新实例的一步一步的过程中,您被要求选择或创建一个键(在最后一步),这将不起作用。

无论您创建或选择的键是什么,只有用于实例XYZ的键将被新实例接受。

试着用

sudo ssh -i mykey.pem ubuntu@<ec2_ip_public_dns>

OR

sudo ssh -i mykey.pem ec2-user@<ec2_ip_public_dns>

我把sudo放在前面就解决了问题

sudo ssh -i mykey.pem myec2.amazonaws.com

但正确的解决方案是先改变所有权,然后像Janus Troelsen下面说的那样以普通用户的身份连接。在我的情况下,它将是:

chown wellington:wellington key.pem

当你尝试

SSH -i <。Pem路径> root@ec2-public-dns

您将收到一条消息,建议您使用ec2用户。

请以“ec2-user”用户而不是“root”用户登录。

所以使用

SSH -i <。Pem路径> ec2-user@ec2-public-dns