O uso de passwd -d está completamente errado , pelo menos no Fedora , em qualquer distribuição Linux baseada em shadow-utils. Se você remover a senha com passwd -d , isso significa que qualquer pessoa pode efetuar login nesse usuário (no console ou gráfico), sem fornecer nenhuma senha.
Para bloquear logins com autenticação de senha, execute passwd -l username , que bloqueia a conta tornando-a disponível apenas para o usuário root. O bloqueio é executado ao renderizar a senha criptografada em uma string inválida (prefixando a string criptografada com um!).
Qualquer tentativa de login, local ou remota, resultará em uma <"> senha incorreta" , enquanto o login de chave pública ainda estará funcionando. A conta pode então ser desbloqueada com passwd -u username .
Se você quiser bloquear completamente uma conta sem excluí-la, edite /etc/passwd e defina /sbin/nologin ou /bin/false no último campo. Isso resultará em "Esta conta não está disponível no momento." para qualquer tentativa de login.
Por favor, consulte a página man passwd (1).