我想使用我的亚马逊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,但不能从另一台机器上SSH。原来我用错了私钥。

我解决这个问题的方法是从我的私钥中获取公钥,就像这样:

Ssh-keygen -y -f ./myprivatekey.pem

输出的内容与~/中的内容不匹配。ssh/authorized_keys在EC2实例上。

其他回答

试着用

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

OR

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

您需要执行以下步骤:

如果您使用的是Linux,请打开ssh客户端或终端。 找到您的私钥文件并更改目录。 CD <您的。pem文件>的路径 执行以下命令: Chmod 400 <filename>.pem SSH -i <filename>。pem ubuntu@ < ipaddress.com >

如果ubuntu用户无法使用,那么尝试使用ec2-user。

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

ssh -i pemfile.pem -l ubuntu dns

你必须检查以下几件事:

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

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

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

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".