Can not log into SSH unless logged in locally

Solution 1:

I'm going to assume your home directory is encrypted - in this case it is only decrypted when you log in - so when you are trying to authenticate you are not yet logged in so your home directory is not decrypted and hence as suggested above the ssh daemon can't read authorized keys file. You can fix this by following the instructions here.