Mosh eller SSH på mobilen: vilket ska du använda för att följa din agent
Du startar Claude Code på en lång uppgift, stänger laptopen och beger dig ut. Tåget åker in i en tunnel, mobilen går från wifi till mobilnät och tappar signalen i en minut, och när du tittar igen är SSH-sessionen död. Det är väntat: SSH designades aldrig för en klient som byter nät med några minuters mellanrum, och Mosh och Eternal Terminal finns för precis det.
Här är vad var och en gör, vad som händer på en mobil och hur du väljer. Vill du ha hela bilden av hur du kör en agent från fickan, börja med Så använder du Claude Code från mobilen.
Vad som händer med SSH på en mobil
SSH går över en TCP-anslutning, och den anslutningen är knuten till en IP-adress och ett par sockets. När mobilen går från wifi till mobilnät ändras dess IP och servern får aldrig veta det. Anslutningen hänger sig tills en timeout dödar den. Samma sak händer när iOS eller Android lägger appens nätverk i vila för att spara batteri, eller dödar appen för att den behöver minnet.
Du förlorar mer än skärmen. En process som hänger på den SSH-sessionen kan få en SIGHUP och dö med den. Därför är en agent som startats direkt från ett SSH-skal skör, och därför är följeslagaren till den här artikeln, tmux för kodagenter, nästan obligatorisk.
Mosh: UDP och tyst återanslutning
Mosh (mobile shell) använder bara SSH för att komma igång. Det autentiserar över SSH, startar mosh-server på din dator och pratar därefter över UDP. Utan någon TCP-anslutning att bryta kan klienten byta IP, tappa signalen eller sova, och när nätet kommer tillbaka finns sessionen kvar.
I praktiken:
- Du byter från wifi till mobilnät och sessionen märker det inte.
- Slutar servern svara säger appen till i stället för att stänga sessionen.
- Lokalt eko med förutsägelse: det du skriver ritas direkt, understruket, och bekräftas när servern svarar. På en seg mobilanslutning märker du skillnaden.
Vad det kostar:
- UDP 60000–61000 måste vara öppet på din dator (varje session tar en port i det intervallet).
- Ingen scrollback. Mosh synkar bara det som finns på skärmen. Vill du skrolla upp och läsa vad agenten skrev ut, jobba inuti tmux.
- Om operativsystemet dödar appen tar Mosh-sessionen slut och kan inte återupptas.
Eternal Terminal: TCP, men det återupptas
Eternal Terminal (ET) går åt andra hållet. Det körs över TCP, som standard på port 2022, men håller sitt eget sessionstillstånd, så när anslutningen tappas bygger det upp den igen och skickar om det som missades. Det kräver att etserver körs på din dator och att etterminal finns i PATH för SSH-sessionen.
På en mobil är dess fördel att det är den enda transporten i Wendo (på Android) som överlever att appen stängs. Sessionen dyker upp under Start och fortsätter där den var när du öppnar den. Wendo märker ET som experimentellt, så ha det i åtanke innan du förlitar dig på det.
Kort sammanfattning
- Byter mobilen från wifi till mobilnät eller går i vila, tappas SSH medan Mosh och ET håller.
- Stänger systemet appen förlorar du sessionen med SSH och med Mosh; med ET återupptas den.
- SSH och ET har scrollback; Mosh har det inte.
- SSH och ET går över TCP (ET på port 2022) och Mosh över UDP.
- Med en Jump-värd fungerar bara SSH i Wendo.
Installera mosh-server
På datorn där agenten körs:
# macOS
brew install mosh
# Debian / Ubuntu
sudo apt install mosh
# Fedora
sudo dnf install mosh
Kontrollera att det finns i PATH för en vanlig SSH-anslutning, inte bara i din interaktiva terminal:
ssh my-server 'which mosh-server'
På en Mac med Apple Silicon lägger Homebrew det i /opt/homebrew/bin/mosh-server, som inte alltid finns i PATH för en icke-interaktiv session. Händer det kan du i Wendo ange sökvägen till mosh-server i anslutningen.
Anteckningar om brandväggen
Mosh behöver inkommande UDP 60000–61000. På Linux med ufw:
sudo ufw allow 60000:61000/udp
Med firewalld:
sudo firewall-cmd --permanent --add-port=60000-61000/udp
sudo firewall-cmd --reload
Om din dator står bakom en router, vidarebefordra det UDP-intervallet på samma sätt som du skulle vidarebefordra port 22. För ET öppnar du TCP 2022 på samma sätt (sudo ufw allow 2022/tcp).
Om din SSH går via en proxy eller en lastbalanserare kan Mosh-UDP skickas till fel IP. Wendo har alternativet ”Använd serverns IP för UDP” för det fallet.
Välja i Wendo
När du redigerar en anslutning erbjuder fältet Transport Auto, SSH, MOSH och ET. Med Auto provar Wendo Mosh först, sedan ET, och faller tillbaka på SSH om ingen finns. Börja med Auto.
Ett viktigt förbehåll: än så länge finns Mosh och ET bara i Android-versionen. På iPhone går Wendo alltid över SSH (Auto ansluter direkt över SSH, och väljer du MOSH eller ET manuellt säger appen att de inte finns på iOS). Använder du iPhone är det tmux som räddar dig från avbrotten: anslutningen bryts, men agenten jobbar vidare och du kommer tillbaka där du var.
En praktisk tumregel på Android:
- Du går omkring med mobilen och sessionerna varar några minuter: Mosh.
- Du vill stänga appen, komma tillbaka en timme senare och hitta sessionen under Start: ET.
- Du ansluter via en Jump-värd: SSH. Varken Mosh eller ET fungerar med en Jump-värd i Wendo.
- Din dator kan inte öppna UDP-portar: ET eller SSH.
Mosh och Eternal Terminal ingår i Wendo Pro; utan Pro går anslutningen över SSH. Fälten beskrivs i dokumentet om sessioner.
Vilken transport du än väljer, starta agenten inuti tmux. Transporten håller skärmen vid liv; tmux håller processen vid liv och ger dig den scrollback som Mosh saknar. Den vanliga kombinationen är Mosh eller ET för tråden och tmux för arbetet, och här är det minsta du behöver kunna om tmux. För att få aviseringar när agenten ber om tillstånd, se hooks.