【问题标题】:AWS EC2 Permission deniedAWS EC2 权限被拒绝
【发布时间】:2015-02-09 12:49:39
【问题描述】:

当我尝试通过 ssh 登录 EC2 实例时,出现以下错误 Permission denied (publickey)

我检查了主机名和用户名,一切都很好。上次登录时,我错误地从 ec2 实例根目录中给出了 chmod -R 777 .,之后我无法连接到实例。我需要一些来自 ec2-instance 的文件。有没有办法登录到ec2?我也尝试了新实例。它的工作。

有没有可能?

【问题讨论】:

    标签: amazon-web-services ssh amazon-ec2


    【解决方案1】:

    我自己没有尝试过,但我不明白为什么它不起作用。

    尝试为您的实例创建快照(从 ec2 控制台创建图像按钮)。完成后,在 Ec2 控制台中找到您的快照。它应该由具有模式“vol-xxxxxxxx”的 id 的 EBS 卷支持。

    启动一个新实例并将“vol-xxxxxxxx”附加为辅助存储。通过 SSH 连接到新实例并将与(例如 /dev/xvdf)相关的设备“vol-xxxxxxxx”挂载到临时目录并找到您要查找的文件。

    【讨论】:

      【解决方案2】:
      1. 分离根卷并附加到另一个实例。
      2. 登录 ec2 实例
      3. mkdir 临时文件夹
      4. sudo mount /dev/svdf1(通常是 /dev/svdf1,你可以列出你的卷以确保)
      5. cd tempfolder/home
      6. chmod 700 -R ec2-user
      7. sudo umount 临时文件夹
      8. 分离卷并将其附加到旧实例,记住它是根实例,因此您使用名称“/dev/xvda”附加它。

      【讨论】:

        【解决方案3】:

        我遇到了类似的问题。 您将无法重新覆盖旧实例,只需创建新实例并设置权限 chmod 777(不要使用-R)选项,那么您的问题将得到解决。

        【讨论】:

          【解决方案4】:

          一个原因可能是您的密钥文件无法公开查看以使 SSH 正常工作。如果需要,请使用此命令:

          • chmod 400 mykey.pem

          还要记住 EC2(ec2-user) 实例的正确用户 ID 和命令:

          • ssh -l ec2-user -i .ssh/yourkey.pem public-ec2-host

          【讨论】:

            【解决方案5】:

            使用 Winscp 恢复权限更改。

            最近我不小心使用 putty 将“/home/ec2-user”目录权限更改为 777。我立即登出。我还使用“Winscp”登录到服务器,并且在更改权限后它没有断开连接。

            解决方案是使用 Winscp 将“/home/ec2-user”的权限更改回 700,我能够重新登录。它对我有用。 Winscp 为我省去了很多麻烦。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-03-24
              • 2021-11-09
              • 2019-05-27
              • 2021-11-18
              • 1970-01-01
              • 2014-07-24
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多