Dans mon cas, j'utilisais un dossier git avec de mauvais droits stockés sur le même lecteur qu'un dépôt, mais cela pourrait être la même chose avec ssh même si vous utilisez un utilisateur de connexion autorisé.
Vérifiez ensuite si vous disposez des droits appropriés pour écrire sur le repo distant.
Exemple:
Initier le repo local et distant
git init /tmp/src
git init --bare /tmp/dst
cd /tmp/src
Ajout d'un dépôt distant à l'origine
src > git remote add dest /tmp/dst
Problème de simulation
src > chmod -R 555 /tmp/dst
Ajouter un faux fichier et le pousser
src > touch a && git add a && git commit -m 'demo'
src > git push --set-upstream dest master
src > git push
Counting objects: 3, done.
Writing objects: 99% (2/3), 202 bytes | 0 bytes/s.
Git se bloque
Solution
src > chmod -R 775 /tmp/dst