When I attempt to /etc/init.d/sshd stop , /etc/init.d/sshd start from a remote machine sshd will stop fine, but it will not restart. I believe this is because there is an /usr/sbin/sshd process (your current ssh session) in the ps list. So the script thinks it is running. Unfortunately it is not and if you disconnect you cannot get back in..
*** This bug has been marked as a duplicate of 929 ***