Généralement, on active soit la clé, soit le mot de passe.
Si on active les 2, le mot de passe sert de fallback, dans le cas où la clé ne passe pas. Et dans ce cas, oui, le clé n'est pas obligatoire, donc en cliquant sur annuler on arrive sur la demande de mot de passe.
Toutefois, filezilla peut se servir de la clé, mais il s'appuie sur le gestionnaire de clé du système (ssh-agent par exemple).
https://wiki.filezilla-project.org/Howto
Voir dans les paramètres de filezilla, sous SFTP, mais il demande la clé privée, pas publique.
Pour utiliser la clé publique, et ssh-agent, il faut définir: SSH_AUTH_SOCK (jamais essayé)
Personnellement, je ne me sers que du mot de passe, et je me sers de denyhosts pour bloquer les demandes erronées/bruteforces.
Mais je n'utilise que des serveurs SFTP dont j'ai le contrôle total, que ce soit en cloud ou non.