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


当前回答

这是一个基本的事情,但一定要确认您要登录哪个用户。我的案子只是分散你的注意力。我试着用root用户

ssh -i ~/keys/<key_name> root@111.111.111.111

但另一位用户说:

ssh -i ~/keys/<key_name> dedeco@111.111.111.111

其他回答

导致此错误的另一个可能原因:

现象描述当用户的主目录为组可写时,用户无法登录。

(在Ubuntu实例上复制)

这就是我解决问题的方法

ssh -i <key> ec2-user@<ec2 ip>

你必须检查以下几件事:

请确认您的IP地址是否正确 确保你使用了正确的密钥 确保你使用了正确的用户名,你可以尝试: 3.1. 管理 3.2. ec2-user 3.3. ubuntu

我也遇到了同样的问题,在我把用户名改成ubuntu之后,问题就解决了。在AWS文档中提到了用户ec2-user,但不知何故不适合我。

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

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

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

chown wellington:wellington key.pem

对于ubuntu 12.04 LTS微实例,我必须将用户名设置为选项

ssh -i pemfile.pem -l ubuntu dns