Eu tive o mesmo problema. No meu caso, restorecon e chcon não funcionaram.
Eu não queria desativar o selinux. Depois de muita pesquisa, finalmente percebi que era porque meu diretório pessoal era montado em outro lugar (NFS). Eu encontrei este relatório de bug que me indicou.
eu corri:
> getsebool use_nfs_home_dirs
use_nfs_home_dirs --> off
para confirmar que use_nfs_home_dirs estava desativado e, em seguida:
sudo setsebool -P use_nfs_home_dirs 1
para ligá-lo.
Agora eu posso ssh para minha máquina usando minha chave e sem digitar uma senha. O uso do booleano use_home_nfs_dirs foi o que foi necessário para mim.