SSH Permission Denied(Public Key)

昨天在ec2上遇到了一个问题,我在进行正常操作的时候连接就断开了,紧接着尝试再次登录的时候出现了经典的permission denied(public key).

通常来说这个问题是因为public key没有添加到~/.ssh/authorized_keys这个文件下面,但是因为我没有修改这个文件,所以弄得问题非常诡异。不仅从我自己的机器上登录不上去,从内网机器上也没有办法登录。

按照这个 文档 的指示,我把机器停掉了,然后把这个volume挂载到了另外一台机器上做文件修复,发现~/.ssh/authorized_keys文件内容并没有发生改动。

最后没有办法,只能求救于AWS Support Team了,最后对比了这个volume的/home/ec2-user和另外一个正常机器上的这个目录权限,才定位到了问题。出现问题的volume的/home/ec2-user这个目录在group, other上都多出了write权限,而正常机器上的目录只有755权限。`chmod 755 /mnt/home/ec2-user` 之后重新挂载机器就能登录了。

多谢我们的英语翻译Erin和工程师Jerry,不然以我的尿性肯定通过Email走ticket而不会考虑Phone.