===== Résoudre les problèmes d'échecs de connexions rapprochées git/ssh ======
Si exécuter plusieurs fois des commandes git, comme par exemple lorsqu'on exécute **npx vcs-modules** du module node [[https://www.npmjs.com/package/@itrocks/webstorm|@itrocks/webstorm]], bloque très vite au bout de quelques **git clone**,
Si exécuter plusieurs fois des commandes du type **ssh root@myserver.fr echo hello** bloque environ 1x sur 8,
C'est que votre fournisseur d'accès n'aime pas que vous jouyez à multiplier les connexions ssh rapprochées. Son NAT opérateur surcharge vite sa table de connexions et commence à jeter des paquets dès que trop de nouvelles connexions TCP sont ouvertes dans un court laps de temps. Ce comportement est courant chez Free (fibre et 5G) et, plus largement, chez les opérateurs qui utilisent du CG-NAT sur l’IPv4.
Pour contourner le problème, le plus simple est de configurer votre ssh pour qu'il utilise une connexion persistente quand les appels se multiplient vers l'hôte.
Exemple avec **github** : mettez à jour la section github de votre fichier **~/.ssh/config** :
Host github.com
HostName github.com
User git
ControlMaster auto
ControlPath ~/.ssh/ctrl-%h-%p-%r
ControlPersist 10m
On peut généraliser ça pour toutes les connexions ssh. Toujours dans le fichier **~/.ssh/config** :
Host *
ControlMaster auto
ControlPath ~/.ssh/ctrl-%h-%p-%r
ControlPersist 15m