2026 : keepalive TCP, TCP_USER_TIMEOUT et session SSH inactif vers une Mac mini louée chez ProxyMac
Les opérateurs SSH depuis l’Europe ou la côte est des États-Unis vers un ProxyMac Mac mini à Hong Kong, Tokyo, Séoul, Singapour ou aux États-Unis voient des sessions actives s’il tape, puis une disparition 7–25 min d’inactivité avec Cursor ou tail -f. Moins souvent, Apple est en cause : minuteries silencieuses côté middlebox et sockets par défaut qui prouvent trop peu. Ce guide donne un modèle en deux couches (keepalives + TCP), un tableau de décision, un bloc ~/.ssh/config (sonde toutes 30s, quatre manques d’acquiescement avant l’abandon), une suite de sept sondes (Wi-Fi hôtel, souvent 120s), des liens vers autossh, Mosh, keepalive, réglage client haute latence et puits de MTU pour ne pas traquer l’infrastructure TCP quand c’est l’IPQoS.
Conservez les ressources Aide et, une fois le chemin sûr, comparez les tarifs par région.
Lorsqu’en longue distance, SSH s’endort sans message
Les symptômes s’assemblent en (A) terminal figé, pas d’en-tête, pas de Broken pipe avant une touche ; (B) client_loop: send disconnect: Broken pipe 120–900s après le dernier paquet ; (C) l’interactif reste, scp/rsync bloqués 0 %. (A) ≈ liaison NAT expirée sans RST — Wi-Fi invité, UDP priorisé, TCP affamé. (B) ≈ pare-feu avec durée de flux. (C) mélange puits PMTUD — consulter l’article MTU avant de tourner inutilement les nombres keepalive.
- Partage d’écran en tunnel gonfle les périodes muettes, la vidéo se fige.
- Les Sauts en chaîne, autant de minutes possibles, par ex. 300s.
- git pull déclenché côté mini : le transport parait muet, même si l’hôte côté serveur agit.
Keepalive noyau vs. ServerAliveInterval
Le noyau peut tenter d’émettre après net.inet.tcp.keepidle, on ne pilote pas les FAI. ServerAliveInterval injecte des trames de protocole, réveille les hauts niveaux sans attendre la valeur par défaut, parfois deux heures. C’est complémentaire : SSH, la session ; TCP, le quartet bout à bout.
Tableau ciblé par type de symptôme
| Signature | 1ʳᵉ poignée | 2ᵉ poignée | Escalader |
|---|---|---|---|
| Inactif 15m+, touche = rétablissement | ServerAliveInterval 30 | réduire le nombre de sauts | noter le BSSID, Wi-Fi invité |
| Pipe cassée à des multiples de 300s | client TCPKeepAlive yes | ControlMaster | exiger la minuterie FAI |
| SCP bloqué, pas d’inactif en même temps | clamp MSS | test PMTU | région au tableau latence |
| Échec nocturne | cron curl depuis le mini | DHCP | tirer la tâche vers la mini |
~/.ssh/config pour alias ProxyMac
Étiquetez HK, JP, KR, SG, US explicitement. Cet échantillon vise HK. IPQoS n’arrive qu’après le long guide — mal choisir, affamer les sondes pendant la copie.
Host proxymac-hk-dev
HostName your-node.proxymac.com
User youruser
ServerAliveInterval 30
ServerAliveCountMax 4
TCPKeepAlive yes
IPQoS throughput
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 10m
Séquence en sept étapes pour le runbook
- RTT :
ping -c 20, moyenne, p95. - Session sans effort, inactif 12 min — retour d’écho ?
ssh -vvvjetable, rechercher un blocageexpecting SSH2_MSG_KEXINIT.- SCP parallèle (512 Mo) ; si le débit s’effondre après 90s, c’est l’MTU, pas ici.
- VPN, split-tunnel, UDP paresseux vs. TCP envers la mini.
- si
sshd= vous,ClientAliveIntervaln’en envoie 10s tandis que 30s côté client, énergie gaspillée. - fichier final, même Git + notes launchd d’OpenClaw.
Avec autossh, Mosh, RTT, sans appliquer deux corrections pour la même cause
Le guide autossh + Mosh a la supervision, ce guide couvre l’OpenSSH seul en TCP — git+ssh, ssh -L vers l’hôte, rsync. Ciphers/IPQoS après, les AEAD chargent l’M4 sur copie : article IPQoS & chiffrements.
ServerAliveInterval 5 bouscule DDoS edge — gratter légèrement, pas par rafale.
FAQ
Baisser tcp keepidle côté mini ? Surtout client d’abord, la plupart des pannes côté portable.
ControlMaster, pire inactif ? Multiples sessions sur le même flot — si ce flot a un 60s côté Wi-Fi, toutes s’y accrochent, surveiller.
IPv6 ? Noter d’abord le groupe d’adresse choisi.
Pourquoi le mini loué a rendu la propreté mesurable
Sur M4, banc fixe, HK / JP / KR / SG / US, moins d’NATTings cafés, Partage d’écran pour TCC, tarif linéaire = argument pour une deuxième mini, pas d’un tunnel samedi.
Loue la région qui s’aligne sur les timers
Mac mini HK / JP / KR / SG / US, SSH en place