Existem muito poucas opções disponíveis se você não puder usar a chave pública auth.
Se você pode deixar uma sessão SSH aberta para o servidor git, usando o sinalizador -M, você pode editar seu ssh_config para especificar os valores de ControlPath e ControlMaster. Isso solicitará que você faça logon manualmente, mas isso encapsulará todas as futuras conexões ssh por meio da conexão principal. (Veja: link )
Este pode funcionar para o git. Eu não testei isso.