Se você quiser desabilitar os logins de senha, basta definir PasswordAuthentication no
no sshd_conf
no servidor.
Não me lembro exatamente, mas acho que pelo menos nenhum login de raiz é o padrão.
A tentativa de efetuar login como qualquer usuário no sistema, que não tenha sua chave pública em ~/.ssh/authorized_keys
, solicitará a senha, se uma senha está definida ou não, ou um shell estará disponível, se o login da senha tiver sido não foi desativado.
Eu acho que o que você quer é simplesmente:
PasswordAuthentication no PermitRootLogin no
Isso não permitirá qualquer login de root, seja com a chave ssh ou senha, e exigirá que os usuários façam login com uma chave válida, como incluído por ter a chave pública no arquivo ~/.ssh/authorized_keys
do usuário.