SSH / VNC 23. April 2026

2026: TCP-Keepalive, TCP_USER_TIMEOUT und inaktive SSH-Sitzung bis zur gemieteten ProxyMac Mac mini

ProxyMac Engineering-Team 23. April 2026 ~12 Min. Lesezeit

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 pull wirk 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.

Ticket-Zahlen: 30s Probes, 4 nacheinander, durchschnittlichen Pfad-RTT unter 280ms belegen, damit Finance klar ist, Sie überdecken keinen falsch gewählten Peering-Punkt.

Einstellmatrix entlang der Fehlertypen

Symptom-ProfilErstes RadZweites RadEskalation
Leerlauf > 15 Min., Tastendruck heilt sofortServerAliveInterval 30Jump-Anzahl reduzierenBSSID sammeln, Gast-WLAN-Leitfaden
Broken pipe in Vielfachen von 300sclientseitig TCPKeepAlive yesControlPersist nach ControlMastervom ISP dokumentierter Leerlauf-Timeout
SCP mitten in der Datei, ohne Leerlauf-PhaseMSS-ClampPMTUD-TestsRegion laut Latenz-Matrix wechseln
vor allem Nightly-BuildsNächtlicher curl-Cron von der miniWAN-DHCP erneuernJob 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

  1. RTT-Grundlinie per ping -c 20; Median + p95.
  2. Normales SSH, 12 Minuten inaktiv, Echo prüfen.
  3. ssh -vvv auf wegwerfbarer Sitzung, nach hängendem expecting SSH2_MSG_KEXINIT filtern.
  4. Paralleles SCP (512 MB); bricht Durchsatz nach 90s ein, eher MTU als keepalive.
  5. VPN-Status, wenn Split-tunnel: oft unterschiedlich für inaktive UDP vs. TCP Richtung mini.
  6. ClientAliveInterval serverseitig (wenn sshd in Ihrer Hand) mit Kundenrichtlinie abstimmen—10s neben 30s kostet doppelte Probes.
  7. 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.

Warnung: 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