我想使用我的亚马逊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上传/下载文件?
此错误消息表示您身份验证失败。
以下是导致这种情况的常见原因:
试着用错误的键连接。您确定这个实例正在使用这个对吗?
试图连接错误的用户名。ubuntu是基于ubuntu的AWS发行版的用户名,但在其他一些debian上它是ec2-user(或admin,根据Bogdan Kulbida的回答)(也可以是root, fedora,见下文)
试图连接错误的主机。这是您要登录的主机吗?
注意1。如果你把/home/<用户名>/弄乱了,也会发生这种情况。EC2实例上的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,用户名为“Fedora”或“ec2-user”。对于SUSE Linux操作系统,用户名为root。否则,如果ec2-user和root不起作用,请与AMI提供程序进行检查。
最后,请注意身份验证失败还有许多其他原因。如果您想在SSH命令中添加-v选项并读取输出,SSH通常会非常明确地说明哪里出了问题,这在对这个问题的许多其他答案中都有解释。
在这种情况下,问题产生于密钥对丢失。关于这个:
无法更改实例上的密钥对。您必须创建一个使用新密钥对的新实例。
如果您的实例由Elastic Beanstalk上的应用程序使用,则可以解决这个问题。
你可以遵循以下步骤:
访问AWS管理控制台
打开弹性豆茎标签
从所有应用程序选项卡中选择您的应用程序
从左边menù选择配置
单击Instances Gear
在服务器表单中检查EC2密钥对输入并选择新的密钥对。您可能必须刷新列表才能看到刚刚创建的新密钥对。
保存
Elastic Beanstalk将为您创建与新密钥对关联的新实例。
通常,请记住必须允许EC2实例接受入站SSH通信。
为此,您必须为EC2实例的Security Group创建一个特定的规则。
您可以按照以下步骤进行操作。
Access to AWS Management Console
Open EC2 Tab
From Instances list select the instance you are interested in
In the Description Tab chek the name of the Security Group your instance is using.
Again in Description Tab click on View rules and check if your Security Group has a rule for inbound ssh traffic on port 22
If not, in Network & Security menù select Security Group
Select the Security Group used by your instance and the click Inbound Tab
On the left of Inbound Tab you can compose a rule for SSH inbound traffic:
Create a new rule: SSH
Source: IP address or subnetwork from which you want access to instance
Note: If you want grant unlimited access to your instance you can specify 0.0.0.0/0, although Amazon not recommend this practice
Click Add Rule and then Apply Your Changes
Check if you're now able to connect to your instance via SSH.
希望这能像帮助我一样帮助别人。