2014-02-26 88 views
2

我一直在使用ec2实例几个星期没有问题。从今天开始,这个例子不再允许我用我的私人登录。我得到突然出现错误SSH到EC2实例

服务器拒绝了我们的关键

断开:不支持可用的验证方法(服务器 发送:公钥)

我想不通为什么会开始发生了今天的无处。我尝试重新启动实例,但没有运气,因此我对该实例进行了映像并使用新的密钥对从映像启动了一个新实例。使用新的私钥登录到新实例时,出现同样的错误。

我使用一个基本的安全组是开放

22(SSH)0.0.0.0/0

80(HTTP)0.0.0.0/0

443(HTTPS )0.0.0.0/0

8080(HTTP *)0.0.0.0/0

人碰到ŧ他之前还是有任何想法我做错了什么?

感谢, 香薰

+0

你是如何从SSH客户端指定私钥的?您是使用SSH代理还是明确传递私钥? –

+0

是否确定用于SSH的用户名?例如对于ubuntu实例来说'ubuntu'和RHEL实例的'ec2-user'。 – slayedbylucifer

+0

什么是您正在尝试使用的ssh命令 – Bijendra

回答

2

有点搞乱后围绕我想通了这个问题。如果有人遇到类似的问题......运行一个自定义脚本我不小心把EC2用户主目录上的权限搞砸了,这个目录把ec2用户锁定在服务器之外。

要修复它,我从实例中分离出根卷(使用CLI ec2-detach-volume)并将它连接到另一个临时实例(使用CLI ec2-attach-volume),将它挂载到临时文件夹中,将ec2-user目录的权限更改为og-rwx。

然后,我将temp从temp实例中分离出来,并将其作为root重新附加到原始实例,并能够使用我的原始密钥再次ssh。