I am running a Centos machine in Amazon cloud. Suddenly, I can't ssh into it. Fortunately, there is R Studio running that includes an ability to run BASH shell. So, I see in /var/log/boot.log that sshd failed to start.
When I run it from the command line sudo service sshd start
I get an error that Starting sshd: /etc/ssh/sshd_config: Permission denied
. I tried to set sshd_config permissions to either 644 or 600 - but I get the same error. Also I tried sudo su -
and then start service.
And it is not the limitation of the shell itself: I can start httpd without any problems.
I don't even know what else to try...
I was faced with the same issue, and thanks to Felix answer, I could confirm that it was also an SELINUX error :
I was then able to solve the error by restoring the default contexts:
That way SELINUX didn't need to be disabled.
This is what happened... There was a problem with the image (specifics here: https://bugzilla.redhat.com/show_bug.cgi?id=956531). So, as part of troubleshooting I mounted the EBS drive on a different machine, and "cleaned" sshd_config. That caused SELINUX to deny access to this file, and the error message was caused by SELINUX; not by file permissions. Once I disabled SELINUX, sshd came up fine.
World is saved :)