Eu não acho que você pode fazer isso sem realmente tentar a chave correta ou senha, ou verificar a configuração do servidor.
sshd pede felizmente ao cliente uma senha, mesmo se você tiver PermitRootLogin prohibit-password set, e a senha nunca funcionará. Ele também pede uma senha mesmo se você tiver PermitRootLogin no e o login não funcionar mesmo com uma chave. Se bem me lembro, ele até mesmo passa pelo PAM para falsificar a tentativa de autenticação, ele apenas faz isso com uma senha inválida conhecida, de modo que você não pode dizer a partir do momento se a autenticação de senha é permitida. Isso é semelhante para AllowUsers etc.
É claro que, além disso, usar BatchMode desativa a solicitação de senhas no lado do cliente (mencionada como a primeira na man page), então a combinação de -o BatchMode=yes -o PreferredAuthentications=password não é muito útil.
Você terá que realmente fazer o login no sistema e verificar quais métodos de autenticação funcionam. Se você conseguir fazer o login com uma chave, essa chave estará em uso. Se você puder fazer o login com uma senha, a senha estará em uso. Depois de efetuar login, verifique se o valor de PermitRootLogin não é yes (o padrão é prohibit-password ) e se a raiz authorized_keys contém a (s) chave (s) que deve conter e nenhuma outra.