AWS EC2权限被拒绝

时间:2015-02-09 12:49:39

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

当我尝试通过ssh登录EC2实例时,我收到以下错误权限被拒绝(公钥)

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

有可能吗?

5 个答案:

答案 0 :(得分:2)

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

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

启动一个新实例并附加" vol-xxxxxxxx"作为二级存储。 SSH到新实例并挂载设备" vol-xxxxxxxx"与(例如/ dev / xvdf)相关联到临时目录并找到您正在寻找的文件。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

  • chmod 400 mykey.pem

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

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

答案 3 :(得分:0)

使用Winscp还原权限更改。

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

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

答案 4 :(得分:0)

  1. 分离根卷并附加到另一个实例。
  2. 登录ec2实例
  3. mkdir tempfolder
  4. sudo mount / dev / svdf1(通常是/ dev / svdf1,你可以列出你的卷以确保)
  5. cd tempfolder / home
  6. chmod 700 -R ec2-user
  7. sudo umount tempfolder
  8. 分离卷并将其附加到旧实例,记住它的根实例,以便附加名称" / dev / xvda"。