2026: TCP-Keepalive, TCP_USER_TIMEOUT und inaktive SSH-Sitzung bis zur gemieteten ProxyMac Mac mini
Betreiber, die SSH aus Europa oder der US-Ostküste in eine ProxyMac Mac mini in Hongkong, Tokio, Seoul, Singapur oder den USA führen, sehen Sitzungen, die bei aktivem Tippen halten, aber nach 7–25 Minuten inaktiv mit Cursor oder tail -f enden. Selten bricht Apple Silicon: fast immer greifen ein stiller Middlebox-Timer und Sockets, die Liveness nicht beweisen. Der Artikel liefert ein Zweischicht-Modell (OpenSSH- plus Kernel-TCP), eine Entscheidungsmatrix anhand beobachtbarer Symptome, ein kopierbares ~/.ssh/config mit 30s-Anwendungsproben und vier fehlgeschlagenen Händeschüttels bis zum Abbruch, ein siebenschritiges Evidenz-Runbook mit harten Werten (viele Gäste-WLANs: 120s Leerlauf) und verlinkt autossh, Mosh, Keepalive, Long-RTT-Client und MTU-Black-Holes—nicht Tuning, wenn IPQoS schuld ist.
Hilfe-Center-Einstiege Lesezeichen setzen und Preise pro Region, sobald der Socket stabil ist—sonst wiederholt jeder neue Kollege die gleichen Paketverlust-Mythen.
Wenn inaktive SSH auf langen Leitungen lautlos stirbt
Symptome fallen in drei Körbe: (A) Terminal hängt, kein Banner, kein Broken pipe, bis Sie eine Taste drücken; (B) client_loop: send disconnect: Broken pipe exakt 120–900s nach dem letzten Paket; (C) interaktiv bleibt alles, scp oder rsync hängt bei 0 %. (A) ist oft abgelaufene NAT-Bindung ohne RST, typisch in Hotels mit starker UDP-Priorisierung. (B) deutet auf Firewalls mit fester stille-Fluss-Dauer. (C) überschneidet PMTUD-Black-Holes—zuerst den MTU-Artikel prüfen, bevor keepalive-Parameter blind gedreht werden.
- Screen-Sharing über den SSH-Tunnel verstärkt inaktive Phasen: Video pausiert, Tastatur scheinbar nicht.
- Jump-Hosts multiplizieren Timer; jeder Hop bringt ggf. eine 300s-Policy.
- LaunchAgent-
git pullwirk auf den Träger trotz Server-Side-Work inaktiv.
Kernel-TCP-Keepalive vs. OpenSSH ServerAliveInterval
Der Kernel kann nach net.inet.tcp.keepidle keepalive senden, aber Sie steuern entfernte Middleboxes nicht per sysctl. ServerAliveInterval injiziert stattdessen SSH-Protokollpakete und trifft höherliegende timer ohne auf OS-Defaults oberhalb zwei Stunden zu warten. Blicken Sie sie als Ergänzung: SSH beweist, dass die SSH-Sitzung lebt; TCP, dass der Vier-Tupel durchgehend gilt.
Einstellmatrix entlang der Fehlertypen
| Symptom-Profil | Erstes Rad | Zweites Rad | Eskalation |
|---|---|---|---|
| Leerlauf > 15 Min., Tastendruck heilt sofort | ServerAliveInterval 30 | Jump-Anzahl reduzieren | BSSID sammeln, Gast-WLAN-Leitfaden |
| Broken pipe in Vielfachen von 300s | clientseitig TCPKeepAlive yes | ControlPersist nach ControlMaster | vom ISP dokumentierter Leerlauf-Timeout |
| SCP mitten in der Datei, ohne Leerlauf-Phase | MSS-Clamp | PMTUD-Tests | Region laut Latenz-Matrix wechseln |
| vor allem Nightly-Builds | Nächtlicher curl-Cron von der mini | WAN-DHCP erneuern | Job in Mini-originierten Pull |
Client-Block ~/.ssh/config für ProxyMac
Benennen Sie Regionen explizit, damit neue Leute dieselben Werte bekommen. Unser Muster dient HK, klappt 1:1 mit Aliassen für JP/KR/SG/US. IPQoS erst nach dem Long-RTT-Guide—durchsatz vs. niedrige Wartezeiten verkehrt gewählt, verhungert Keepalive beim Bulk-Kopieren.
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
Siebenschritte-Prüfplan, den SREs in Confluence pinnen können
- RTT-Grundlinie per
ping -c 20; Median + p95. - Normales SSH, 12 Minuten inaktiv, Echo prüfen.
ssh -vvvauf wegwerfbarer Sitzung, nach hängendemexpecting SSH2_MSG_KEXINITfiltern.- Paralleles SCP (512 MB); bricht Durchsatz nach 90s ein, eher MTU als keepalive.
- VPN-Status, wenn Split-tunnel: oft unterschiedlich für inaktive UDP vs. TCP Richtung mini.
ClientAliveIntervalserverseitig (wennsshdin Ihrer Hand) mit Kundenrichtlinie abstimmen—10s neben 30s kostet doppelte Probes.- Finale Datei in Git neben Ihren OpenClaw-LaunchD/systemd-Notizen—Menschen und Skripte eine Quelle der Wahrheit.
Mit autossh, Mosh und Long-RTT koppeln—doppelte Wirkung meiden
Der autossh-Mosh-Leitfaden deckt Supervision und UDP-Resilienz. Dieser TCP-Text, wenn klassisches OpenSSH bleiben muss: git+ssh, ssh -L zu lokalen OpenClaw-Portalen, rsync --partial ohne Mosh-Ersatz. Cipher- oder Kompressions-Experimente nach Keepalive, weil AEAD auf M4 bei Last mit CPU interagiert—siehe IPQoS- und Verschlüsselungs-Guide.
ServerAliveInterval 5 kann DDoS-Appliances stressen; nur mit Bedarf erhöhen, wenn Stammgeräte nach Stößen RST senden.
FAQ
tcp keepidle auf der mini kürzer? Wenn das Klienten-Laptop-Problem: Server zuerst. Co-lo-minis starten meist die holprige Kante.
ControlMaster verschärft inaktiv? Multiplex vieler Sitzungen in einem Fluss: gut für Handshakes, schlecht, wenn derselbe Strom an einen 60s WLAN-Timer fällt—Zähler pro Pfad im Blick behalten.
Reines IPv6? Happy Eyeballs kann v4-Blackhoels maskieren: erst Familie der SSH-Zieldresse dokumentieren, dann ggf. unterschiedliche timeout-Werte pro Stack.
Warum eine feste ProxyMac-Mac-mini die TCP-Disziplin messbar macht
Apple M4 auf Miete liefert einen unbewegten Endpunkt in HK / JP / KR / SG / US—kein ständig wechselndes Hotel-NAT. Kontinuierliche sysctl und nettop sind möglich, Sie binden die OpenClaw-Automation an den gleichen Host, der Ihre CI-Geheimnisse hält, und Bildschirmfreigabe fängt TCC-Dialoge ab. Kombinieren Sie solche Netzwerk-Disziplin mit transparenten Regionalpreisen, finanzielle Argumente für eine zweite mini in APAC bleiben logisch, statt alles in einen am Freitag brechenden Tunnel zu stapeln.
Miete die Region, die zu Ihren Timern passt
Mac mini in HK / JP / KR / SG / US, SSH einsatzbereit