O truque é fazer com que ssh falhe imediatamente se tentar fazer a autenticação por senha (portanto, sempre faça somente autenticação de chave pública / privada).
Você pode definir a variável de ambiente GIT_SSH como um script de shell para estender o comando normal ssh para incluir -o "PasswordAuthentication no" , mas se você não acessar normalmente o servidor no qual o repositório git está localizado, também pode definir em ~/.ssh_config :
Host server_with_remote_git_repo_name
PasswordAuthentication no
e, em seguida, sobrescreva que, se você precisar acessar server_with_remote_git_repo_name com uma senha, fazendo ssh -o "PasswordAuthentication yes" server_with_remote_git_repo_name