Básicamente, el problema ha sido por una configuración de umask un poco puñetera para el usuario:
$ umask 0002
Para los que no tengáis claro como funciona umask, revisad este artículo: El comando umask. En este caso al crear el fichero authorized_keys para almacenar las llaves públicas, este umask ha provocado que se creara con permisos muy poco seguros…
-rw-rw-r--. 1 foo foo 0 ene 27 22:12 authorized_keys
Y claro, ssh decía que de esta no era la forma correcta en el /var/log/secure:
Jan 27 21:55:52 nodo2 sshd[3282]: Authentication refused: bad ownership or modes for file /home/foo/.ssh/authorized_keys Jan 27 21:55:53 nodo2 sshd[3284]: Connection closed by 192.168.1.128
Securizamos con un 400 o 600 y solucionado:
$ chmod 600 /home/foo/.ssh/authorized_keys
Yo estaba empeñado en que era problema de SElinux, pero al ver que el modo permisivo no hacía que se solucionara el próximo paso tenía que ser mirar messages o secure.