为了账号安全,请及时绑定邮箱和手机立即绑定

通过SSH访问Amazon EC2实例时,权限被拒绝(公钥)

通过SSH访问Amazon EC2实例时,权限被拒绝(公钥)

慕斯王 2020-02-04 15:12:05
我想使用我的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连接以上传/下载文件?
查看完整描述

3 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

在这种情况下,问题是由丢失密钥对引起的。对这个:

  • 无法更改实例上的密钥对。您必须创建一个使用新密钥对的新实例。

  • 如果实例由Elastic Beanstalk上的应用程序使用,则可以解决此问题

您可以按照以下步骤操作:

  1. 访问AWS管理控制台

  2. 打开Elastic Beanstalk选项卡

  3. 从“ 所有应用程序”选项卡中选择您的应用程序

  4. 从左侧菜单中选择配置

  5. 单击实例齿轮

  6. 服务器表单中,检查EC2密钥对输入,然后选择新的密钥对。您可能需要刷新列表才能看到刚创建的新密钥对。

  7. 保存

  8. Elastic Beanstalk将为您创建与新密钥对关联的新实例。


通常,请记住,您必须允许EC2实例接受入站SSH通信。

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

  1. 访问AWS管理控制台

  2. 打开EC2选项卡

  3. 从“ 实例”列表中选择您感兴趣的实例

  4. 在“ 描述”选项卡中,单击您的实例正在使用的安全组的名称。

  5. 再次在“ 描述”选项卡中,单击“ 查看规则”,然后检查您的安全组是否对端口22上的入站ssh通信有规则

  6. 如果没有,请在“ 网络和安全性”菜单中选择“ 安全性组”

  7. 选择您的实例使用的安全组,然后单击“ 入站”选项卡

  8. 在“入站”选项卡的左侧,您可以为SSH入站流量编写规则:

    • 创建一个新规则:SSH

    • 来源:您要从中访问实例的IP地址子网

    • 注意:如果您想授予对实例的无限制访问权限,则可以指定0.0.0.0/0,尽管Amazon不推荐这种做法

  9. 单击添加规则,然后应用更改

  10. 检查您现在是否可以通过SSH连接到实例。

希望这可以像帮助我一样帮助某人。


查看完整回答
反对 回复 2020-02-04
  • 3 回答
  • 0 关注
  • 1669 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信