Mensaje `Login failed` con contraseña correcta

Estuve explorando fish como terminal principal en linux.

En algún momento dejé de poder acceder a la consola con el usuario y contraseña correctos, (sólo entraba a la sesión por el inicio de sesión automático).

El mensaje en las demás consolas era Login failed.

El problema había sido que reemplacé mi consola con el comando:

sudo usermod -s (which bash) $USER

Entonces en /etc/passwd la consola de mi usuario era /usr/bin/bash, que no estaba registrada en /etc/shells.

La solución:

# echo "/usr/bin/bash" >> /etc/shells