我想使用我的亚马逊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/known_hosts文件在我试图ssh的机器上,这为我解决了问题。后来我和他联系上了。

其他回答

这种情况在我身上发生过很多次。我使用的是Amazon Linux AMI 2013.09.2和Ubuntu Server 12.04.3 LTS,它们都在免费层。

每次我启动一个实例,我都有拒绝显示的权限。我还没有验证这一点,但我的理论是,在我尝试ssh进入它之前,服务器还没有完全设置好。在尝试了几次被拒绝后,我等了几分钟,然后我就可以连接了。如果你遇到这个问题,我建议你等五分钟再试一次。

上面所有排名靠前的答案都是准确的,应该适用于大多数情况。如果它们不像我的情况一样,我只是去掉了~/。ssh/known_hosts文件在我试图ssh的机器上,这为我解决了问题。后来我和他联系上了。

我也为此挣扎了一段时间,直到我发现了以下几点:

eb ssh

当你从项目目录中使用它时,没问题,没问题,你就进入了

以我自己为例,我做了以下事情:

chmod 400 <key.pem>

ssh -i <key.pem> ec2-user@ec2_public_dns (for debian)

我最初使用root@部分,我得到了这个提示:

Please login as the user "ec2-user" rather than the user "root".

你必须检查以下几件事:

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

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