当SSH访问Amazon EC2实例时,权限被拒绝(publickey)

我想使用我的Amazon 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发行版的用户名,但在其他一些版本中,它是ec2-user (或根据Bogdan Kulbida的回答,在某些Debian上是admin )(也可以是rootfedora ,见下文)
  • 尝试连接错误的主机。 这是您尝试登录的正确主机吗?
  • 请注意,如果您在EC2实例上混淆了/home/<username>/.ssh/authorized_keys文件,也会发生1. .。

    关于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用户 。 对于Ubuntu,用户名是ubuntu 。 对于Fedora,用户名是Fedoraec2用户 。 对于SUSE Linux,用户名是root 。 否则,如果ec2-user和root不起作用,请咨询您的AMI提供商。

    最后 ,请注意认证失败的原因还有很多。 如果您关心在您的SSH命令中添加-v选项并读取输出,SSH通常会非常明确地指出哪里出了问题,正如本问题的许多其他答案中所解释的。


    在这种情况下,问题来自丢失的密钥对。 对这个:

  • 没有办法更改实例上的密钥对 。 您必须创建一个使用新密钥对的新实例。
  • 如果Elastic Beanstalk上的应用程序使用实例,则可以解决该问题
  • 您可以按照以下步骤操作:

  • 访问AWS管理控制台
  • 打开Elastic Beanstalk选项卡
  • 所有应用程序选项卡中选择你的应用
  • 从左侧菜单中选择配置
  • 点击Instances Gear
  • 服务器表单中,检查EC2密钥对输入并选择新的密钥对。 您可能需要刷新列表才能看到刚刚创建的新密钥对。
  • 保存
  • Elastic Beanstalk将为您创建与新密钥对关联的新实例。

  • 一般来说,请记住,您必须允许您的EC2实例接受入站SSH通信。

    为此,您必须为您的EC2实例的安全组创建特定规则。 你可以按照这些步骤。

  • 访问AWS管理控制台
  • 打开EC2选项卡
  • 实例列表中选择您感兴趣的实例
  • 在“ 描述”选项卡中 ,请输入您的实例正在使用的安全组名称。
  • 再次在描述选项卡上单击查看规则,并检查您的安全组是否有端口22上的入站ssh流量的规则
  • 如果没有,请在Network&Security中选择安全组
  • 选择您的实例使用的安全组 ,然后单击入站选项卡
  • 在入站选项卡左侧,您可以编写SSH入站流量的规则:
  • 创建一个新规则 :SSH
  • 来源 :您想要访问实例的IP地址或子网
  • 注意 :如果你想授予对你的实例的无限制访问权限,你可以指定0.0.0.0/0,尽管亚马逊不推荐这种做法
  • 点击添加规则 ,然后应用您的更改
  • 检查您现在是否可以通过SSH连接到您的实例。
  • 希望这可以帮助某人帮助我。


    这就是我解决问题的方法

    ssh -i <key> ec2-user@<ec2 ip>
    
    链接地址: http://www.djcxy.com/p/32439.html

    上一篇: Permission denied (publickey) when SSH Access to Amazon EC2 instance

    下一篇: Change key pair for ec2 instance