14/04/2023
Har du nogensinde følt frustrationen ved en afbrudt SSH-session midt i en vigtig opgave, blot fordi dit Wi-Fi hoppede af, eller din mobilforbindelse var ustabil? Eller måske kender du til smerten ved at vente et helt sekund på, at et tastetryk vises på skærmen, når du arbejder over en satellitforbindelse med høj latenstid. I en verden, hvor mobilitet og pålidelighed er altafgørende, er traditionelle fjernskal-protokoller som SSH ofte utilstrækkelige. Men frygt ikke, for løsningen er her, og den hedder Mosh (Mobile Shell).

Mosh er designet til at revolutionere din fjernadgangsoplevelse, især under de mest udfordrende netværksforhold. Det er en skal-klient, der er optimeret til dårlige eller intermitterende internetforbindelser, såvel som forbindelser med høj latenstid. Forestil dig at kunne skifte mellem Wi-Fi og mobildata, eller bevæge dig rundt med din bærbare computer, uden at din terminalsession nogensinde afbrydes. Mosh gør dette til virkelighed.
- Hvad er Mosh (Mobile Shell)?
- Mosh vs. Traditionel SSH: En Verden til Forskel
- Hvordan Fungerer Mosh? Dybt Dyk i Teknologien
- Installation af Mosh: Fra WSL til Din Fjernserver
- Konfiguration af Firewall for Mosh
- Sikker Log-in med SSH-nøgler for Mosh
- Hvorfor Generere Nye Nøgler i WSL?
- Generering af en Ny Nøgle i WSL
- Tilføjelse af den Offentlige Nøgle til Fjernserveren
- Strømlining af Login: Husk Adgangssætninger med ssh-agent og Keychain
- Opret Lette Login-Aliaser med SSH-konfiguration
- Endelig, Frigør Mosh
- En Sidste Ting: Deaktiver Login med Adgangskode på Fjernserveren
- Mosh i Praksis: Fordele og Begrænsninger
- Mosh på Microsoft Store og Blink Shell
- Ofte Stillede Spørgsmål (FAQ)
- Hvad er den primære fordel ved Mosh?
- Skal jeg installere Mosh på både min lokale maskine og serveren?
- Hvilke porte bruger Mosh?
- Kan Mosh bruges med SSH-nøgler?
- Mister jeg min kommando-historik med Mosh?
- Kan jeg bruge Mosh, hvis jeg skifter Wi-Fi-netværk eller går fra Wi-Fi til mobildata?
- Er Mosh mere sikkert end SSH?
- Konklusion
Hvad er Mosh (Mobile Shell)?
Mosh står for Mobile Shell og er et avanceret terminalforbindelsesprogram, der muliggør vedvarende shell-sessioner, selv når netværksforholdene er alt andet end ideelle. Hvor en traditionel SSH-session er sårbar over for selv den mindste afbrydelse i netværksforbindelsen – hvilket resulterer i en øjeblikkelig afbrydelse af din session og et behov for at logge ind igen og miste din kontekst – er Mosh bygget til at modstå disse udfordringer. Det er den ideelle løsning for udviklere, systemadministratorer og alle, der ofte arbejder eksternt via ustabile mobilforbindelser, Wi-Fi-hotspots i bevægelse eller satellitforbindelser med høj latenstid.
Mosh's primære styrke ligger i dets evne til at opretholde en aktiv session, selvom din netværksforbindelse falder ud og kommer tilbage. Det er som at have en usynlig hånd, der holder din session i live, så du, når forbindelsen genoprettes, stadig er præcis, hvor du slap, med din kommando-historik intakt og dit arbejde uforstyrret.
Mosh vs. Traditionel SSH: En Verden til Forskel
For at drage fuld fordel af Mosh's muligheder skal det installeres på både din lokale maskine og din fjernserver. Denne guide fokuserer på installation via Windows Subsystem for Linux (WSL), som giver dig den fulde kraft af en sand bash-native Mosh-klient, langt overlegen i forhold til en begrænset Chrome-klient.
Livet i en Normal SSH-klient
I en normal SSH-klient er din session tæt bundet til din TCP-forbindelse. Hvis denne forbindelse afbrydes – om det så er et kort udfald i Wi-Fi, et skift fra Wi-Fi til mobildata, eller en fuldstændig tab af mobilsignal – bliver du øjeblikkeligt smidt ud af din session. Resultatet er tabt kontekst, et behov for at logge ind igen og navigere tilbage til det sted, hvor du var. Dette kan være utroligt frustrerende og tidskrævende.
På en forbindelse med høj latenstid, som f.eks. en satellitforbindelse, er situationen potentielt endnu værre. Hvert eneste tastetryk skal rejse tusindvis af kilometer, før det ekkoer tilbage på din skærm. Dette kan tage op til et helt sekund, hvilket gør selv den simpleste tekstredigering eller kommandoindtastning til en pinefuld oplevelse. SSH-klienter har svært ved at håndtere dette, da de ikke ved, om de skal vente på en 'Enter'-kommando eller sende tastetrykket med det samme.
Livet i en Mosh-klient
Mosh, derimod, er designet til at håndtere disse scenarier elegant. Det holder din session aktiv, selv når din forbindelse midlertidigt falder ud. Når forbindelsen genoprettes, er din session stadig aktiv, og du er stadig på samme sted med din kommando-historik og alt. Et tabt mobilsignal? Hvem bekymrer sig? Mosh tager sig af det.

Endnu bedre, på en forbindelse med høj latenstid har Mosh mere 'intelligens' end en gennemsnitlig SSH-klient. Det kan næsten altid afgøre, om du blot skriver en kommando og bør vente på et 'ENTER', før du taler med serveren, eller om du desperat trykker på CTRL-C eller piletasterne for at fortryde en handling. Dette betyder, at når du laver en tastefejl i en kommando, kan du rette den næsten lige så hurtigt, som du ville gøre på en lokal terminal eller en forbindelse med lav latenstid. Den øjeblikkelige respons, eller det lokale ekko, er en af Mosh's mest roste funktioner.
| Funktion | Traditionel SSH | Mosh |
|---|---|---|
| Forbindelsesstabilitet | Afbrydes ved netværksfald | Opretholder session ved netværksfald |
| Latenstid ved indtastning | Høj, ventetid på ekko fra server | Lav, øjeblikkeligt lokalt ekko |
| Genforbindelse | Manuel genforbindelse, mistet kontekst | Automatisk genforbindelse, bevarer kontekst |
| Netværkstype | Optimalt på stabile forbindelser | Optimeret til ustabile/høj-latenstid forbindelser |
| Porte | TCP port 22 (standard) | UDP porte 60000-61000 (standard) |
Hvordan Fungerer Mosh? Dybt Dyk i Teknologien
Mosh adskiller sig fundamentalt fra traditionelle fjernskal-protokoller som TELNET, RLOGIN og SSH, der primært arbejder ved at overføre en byte-strøm fra serveren til klienten for at blive fortolket af klientens terminal. Mosh opererer på et andet lag og med en anden tilgang.
State-Synchronization Protocol (SSP)
Kernen i Mosh's funktionalitet er et nyt protokol kaldet State-Synchronization Protocol (SSP). Mens traditionelle protokoller fokuserer på at overføre hver enkelt byte, opretholder Mosh's server og klient begge et snapshot af den aktuelle skærmtilstand. Problemet bliver derefter en tilstandssynkronisering: at få klienten til den mest aktuelle server-side skærmtilstand så effektivt som muligt.
SSP kører over UDP (User Datagram Protocol) i stedet for TCP (Transmission Control Protocol). Dette er afgørende, da UDP ikke er sessionsbaseret som TCP og derfor ikke afbrydes, når forbindelsen kortvarigt falder ud. Datagrammerne krypteres og autentificeres ved hjælp af AES-128 i OCB3-tilstand, hvilket sikrer sikkerhed.
Intelligent Lokalt Ekko
En af de mest mærkbare fordele ved Mosh er dets intelligente lokale ekko. Klienten kører en forudsigende model i baggrunden af serverens adfærd. Den antager, at hvert tastetryk vil blive ekkoet ved markørens position, og at backspace samt venstre- og højre piletaster vil have deres traditionelle effekt. Disse forudsigelser vises øjeblikkeligt for brugeren. Først når en forudsigelse bekræftes af serveren, bliver effekterne faktisk vist for brugeren permanent. Standardindstillingen er, at forudsigelser kun vises på forbindelser med høj forsinkelse eller under en netværksfejl. Dette betyder, at du får øjeblikkelig feedback, selvom din forbindelse er langsom eller ustabil, hvilket dramatisk forbedrer følelsen af respons.
I modsætning til tidligere forsøg på lokalt ekko med TELNET og RLOGIN, kan Mosh's lokale ekko bruges overalt, selv i fuldskærmsprogrammer som Emacs og Vi.
Problemfri Roaming
Med SSP bliver roaming utroligt nemt. Klienten sender datagrammer til serveren med stigende sekvensnumre, inklusive et 'heartbeat' mindst en gang hvert tredje sekund. Hver gang serveren modtager en autentisk pakke fra klienten med et sekvensnummer højere end nogen, den tidligere har modtaget, bliver IP-kildeadressen for den pakke serverens nye mål for udgående pakker. Ved at håndtere roaming 'tilstandsløst' på denne måde fungerer roaming ind og ud af NAT'er, selv dem der selv roamer. Roaming fungerer, selv når klienten ikke er klar over, at dens internet-synlige IP-adresse er ændret. Heartbeat'en giver Mosh mulighed for at informere brugeren, når den ikke har hørt fra serveren i et stykke tid (i modsætning til SSH, hvor brugere måske ikke er klar over en afbrudt forbindelse, før de forsøger at skrive).

Robust Terminalemulering
En anden fordel ved at arbejde på terminalemuleringslaget var muligheden for at bygge en ren UTF-8 terminalemulator fra bunden. Mosh retter flere Unicode-fejl i eksisterende terminaler og i SSH og blev designet som en frisk start for at forsøge at være robust og korrekt selv for patologiske input. Det håndterer tricky Unicode-tegn, ISO 2022-låse-escapes (der kan få andre terminaler til at sidde fast i hieroglyffer) og onde escape-sekvenser bedre end mange andre terminaler, hvilket sikrer en stabil og korrekt visning.
Mosh sætter også IUTF8-flagget, når det er muligt, hvilket sikrer korrekt håndtering af multibyte-tegn i input-buffere, noget som SSH ikke altid gør.
Installation af Mosh: Fra WSL til Din Fjernserver
For at drage fuld fordel af Mosh's muligheder skal det installeres på både din lokale maskine og din fjernserver. Denne guide fokuserer på installation via Windows Subsystem for Linux (WSL), som giver dig den fulde kraft af en sand bash-native Mosh-klient, langt overlegen i forhold til en begrænset Chrome-klient.
Mosh på Windows 10 via WSL
Den anbefalede måde at bruge Mosh på Windows er officielt via Chrome Mosh-klienten, men denne er begrænset. Heldigvis er Windows nu, for alle praktiske formål, en Linux-maskine takket være WSL, hvilket betyder, at du kan køre Linux-versionen af Mosh. Dette kræver dog lidt opsætning.
1. Installer Windows Subsystem for Linux (WSL)
Først skal du installere WSL. Dette kan gøres direkte fra Windows-indstillingerne:
- Klik på Windows-tasten.
- Vælg Indstillinger (tandhjulsikonet i venstre sidebar).
- Vælg Apps.
- Vælg derefter Programmer og funktioner fra sektionen 'Relaterede indstillinger'.
- Klik på 'Slå Windows-funktioner til eller fra' i højre panel.
- Vælg (dvs. afkryds) 'Windows Subsystem for Linux'.
- For at sikre optimal funktionalitet, kan du med fordel også slå 'Virtual Machine Platform' og 'Windows Hypervisor Platform' til nu. Sørg også for, at 'Windows PowerShell 2.0' er aktiveret.
- Genstart din maskine for at anvende ændringerne.
2. Installer en Linux-distribution (f.eks. Ubuntu)
Efter genstart skal du installere en Linux-distribution. Jeg anbefaler Ubuntu 20.04 LTS, da det er en almindelig og velunderstøttet distribution, som også er standard i WSL. Du kan også installere den fremragende Windows Terminal, der giver dig mulighed for at have flere sessioner af forskellige typer i forskellige faner:
- Åbn Microsoft Store.
- Søg efter 'Ubuntu 20.04 LTS' (eller en anden distribution efter eget valg).
- Klik på den store knap mærket 'HENT', som derefter bliver 'INSTALLER', når download er færdig, og til sidst 'START'.
- Klik på 'START', og du kører nu Ubuntu med al den funktionalitet, en Ubuntu-distribution tilbyder.
- For Windows Terminal, søg efter 'Windows Terminal' i Microsoft Store og installer det. Det er valgfrit, men stærkt anbefales.
3. Installer Mosh Lokalt (på din WSL Ubuntu-instans)
Nu hvor WSL og en Linux-distribution er opsat, kan vi endelig installere Mosh lokalt:
- Start Windows Terminal. Du er nu ved en Windows-kommandoprompt.
- Skriv
bashved kommandolinjen. Du er nu i Ubuntu bash-skallen. - Nu kan du installere Mosh præcis som du installerer enhver Ubuntu-pakke:
sudo apt-get install mosh - Systemet vil bede om din Ubuntu-brugeradgangskode, og derefter vil det, ligesom enhver Ubuntu/Debian-app, downloade og installere Mosh.
Installering af Mosh på Din Fjernserver
Mosh skal installeres på både din lokale maskine og den fjernmaskine, du ønsker at forbinde til. I denne henseende er det præcis som SSH. Forskellen er, at de fleste fjernmaskiner sandsynligvis allerede havde SSH kørende som standard, så du ikke behøvede at tænke over det. Heldigvis er installation af Mosh på fjernserveren lige så nemt:
- Log ind på fjernmaskinen, sandsynligvis med SSH (det er sandsynligvis en af de sidste gange, du gør det på den traditionelle måde!).
- Installer Mosh-pakken. For Ubuntu/Debian-baserede systemer er kommandoen:
sudo apt-get install mosh - For Arch-baserede distributioner:
pacman -S mosh - For CentOS, Fedora og Amazon Linux: Du skal aktivere EPEL-repoet (instruktioner varierer), og derefter køre:
yum install mosh
Nu kan du teste det ved at forsøge at logge ind med Mosh, ligesom du ville med SSH. Mosh bruger faktisk SSH til at etablere forbindelsen. Al autentificering foregår med SSH, og når forbindelsen er etableret, overtager Mosh styringen.
mosh bruger@hostDette vil sandsynligvis mislykkes i første omgang. Hvorfor? Fordi du skal åbne de nødvendige porte i din firewall.
Konfiguration af Firewall for Mosh
Dette er et afgørende trin, da Mosh som standard kommunikerer via UDP-porte i området 60000 til 61000. Konfigurationen vil variere afhængigt af, hvordan din firewall er opsat (f.eks. Firewalld, UFW, eller direkte iptables). For de fleste små servere behøver du ikke at åbne 1000 porte for Mosh; en mindre rækkevidde, f.eks. 60000-60010, er normalt tilstrækkelig for et par samtidige sessioner.
Hvis du bruger firewalld (som er standard på mange moderne Linux-distributioner som CentOS/RHEL og ofte via Webmin), kan du bruge følgende kommandoer:
sudo firewall-cmd --permanent --add-service=moshsudo firewall-cmd --permanent --add-port=60000-60010/udpsudo firewall-cmd --reloadParameteren --permanent sikrer, at indstillingerne forbliver efter en systemgenstart, og --reload aktiverer de nye regler med det samme. Husk at Mosh bruger UDP, ikke TCP, så sørg for at angive /udp.

Hvis du bruger UFW (Uncomplicated Firewall) på Debian/Ubuntu, kan du bruge:
sudo ufw allow 60000:61000/udpsudo ufw reloadEfter at have åbnet portene, bør du nu kunne logge ind på din fjernskal ved hjælp af et brugernavn og en adgangskode:
mosh mit-fjern-brugernavn@hostnameEller et mere konkret eksempel:
mosh [email protected]Dette vil bede dig om en adgangskode, og du vil være logget ind.
Sikker Log-in med SSH-nøgler for Mosh
At skulle indtaste en adgangskode hver gang, du logger ind, er besværligt. Derfor vil vi opsætte nøglebaseret autentificering, som er både mere sikker og bekvem. Mosh anvender SSH til autentificering, så opsætningen er den samme som for almindelig SSH.
Hvorfor Generere Nye Nøgler i WSL?
Hvis du allerede har SSH-nøgler opsat i Windows (f.eks. via Git Bash), kan du fristes til at genbruge dem. Men private nøgler gemt i C:\Users\<dit_brugernavn>\.ssh i Windows har ofte de forkerte filrettigheder for Linux (f.eks. 0777), hvilket får SSH til at afvise dem med en advarsel om 'UNPROTECTED PRIVATE KEY FILE!'. Desuden fungerer chmod ikke direkte på NTFS-partitioner, der administreres af Windows, hvilket gør det svært at rette rettighederne. Det er generelt nemmest og mest sikkert at generere nye nøgler direkte i din Linux-hjemmemappe i WSL (cd ~ vil føre dig dertil).
Generering af en Ny Nøgle i WSL
Du kan nemt oprette et nyt SSH-nøglepar med ssh-keygen:
cd ~ssh-keygenFølg anvisningerne. Du kan vælge at tilføje en adgangssætning (passphrase) for ekstra sikkerhed; dette anbefales kraftigt, da det beskytter din private nøgle, hvis den skulle falde i de forkerte hænder. Gem filen på standardplaceringen (/home/din_bruger/.ssh/id_rsa). Tilladelserne vil automatisk være korrekte (600 for privat nøgle, 644 for offentlig nøgle, 700 for .ssh-mappen).
Tilføjelse af den Offentlige Nøgle til Fjernserveren
Næste skridt er at tilføje din nye offentlige nøgle til fjernserveren. Den bedste måde at gøre dette på er med kommandoen ssh-copy-id. Denne kommando kopierer kun den offentlige nøgle (f.eks. id_rsa.pub) til serverens ~/.ssh/authorized_keys fil. Din private nøgle overføres aldrig.
ssh-copy-id -i ~/.ssh/id_rsa bruger@hostDu vil blive bedt om fjernserverens adgangskode (den sidste gang, forhåbentlig!), og nøglen vil blive tilføjet. Du kan nu teste login med ssh bruger@host; du bør ikke længere blive bedt om en adgangskode, hvis du har brugt en adgangssætning, vil den blive bedt om.
Strømlining af Login: Husk Adgangssætninger med ssh-agent og Keychain
Hvis du valgte at beskytte din private nøgle med en adgangssætning (hvilket er en god idé), skal du som standard indtaste den hver gang du logger ind. For at undgå dette kan du bruge ssh-agent og keychain.

Brug af ssh-agent
ssh-agent holder den dekrypterede nøgle i hukommelsen. Så længe du ikke lukker systemet ned eller logger ud, behøver du ikke at indtaste adgangssætningen igen.
eval ssh-agentDette starter agenten. Tilføj derefter din nøgle til agenten:
ssh-add ~/.ssh/id_rsaDu vil blive bedt om din adgangssætning. Efter dette bør du kunne logge ind og ud med ssh bruger@host uden at skulle indtaste adgangssætningen, indtil du logger ud af din lokale konto eller genstarter maskinen.
Vedvarende Adgangssætninger med Keychain
For at gøre adgangssætningen vedvarende efter genstarter, kan du installere keychain i Ubuntu:
sudo apt install keychainÅbn derefter din .bashrc-fil i en editor (f.eks. vi eller nano):
vi ~/.bashrcRul ned til bunden og indsæt følgende linjer (erstat id_rsa, hvis din nøgle har et andet navn):
keychain id_rsa. ~/.keychain/`uname -n`-shFor at gøre det endnu mere bekvemt, kan du også tilføje en linje i bunden af .bashrc for at sende dig til din Linux-hjemmemappe ved login:
cd ~Gem og luk filen. Næste gang du starter bash i WSL, vil keychain indlæse nøglerne, og du vil lande i din Linux-hjemmemappe.
Opret Lette Login-Aliaser med SSH-konfiguration
At skulle huske IP-adresser, brugernavne og eventuelle ikke-standardporte kan være besværligt. Du kan strømline dette ved at oprette en konfigurationsfil i din .ssh-mappe kaldet config:
vi ~/.ssh/configI denne fil kan du specificere værten, porten, brugeren og identitetsfilen og give det hele et alias. 'Host' er dit alias:
Host mitsted Hostname 123.123.123.123 Port 18365 User mitbrugernavn IdentityFile ~/.ssh/id_rsaNu kan du blot skrive ssh mitsted for at logge ind.
Endelig, Frigør Mosh
Med alle disse trin fuldført er Mosh endelig klar til brug. Du kan nu simpelthen skrive:
mosh mitstedOg du er klar til at arbejde med en stabil og responsiv session!
En Sidste Ting: Deaktiver Login med Adgangskode på Fjernserveren
Som en generel sikkerhedsregel, hvis du ikke længere har brug for det, bør du deaktivere adgangskodeautentificering over SSH på din fjernserver. Da lange nøgler er sværere at knække end selv en ret lang adgangskode, er dette en god idé. Det er ret nemt:
- Log ind på din fjernserver (med din SSH-nøgle nu).
- Rediger SSH-dæmonens konfigurationsfil:
sudo vi /etc/ssh/sshd_config - Sæt
PasswordAuthenticationogChallengeResponseAuthenticationtil “no” (fjern kommentartegnene eller tilføj linjerne, hvis nødvendigt).PasswordAuthentication noChallengeResponseAuthentication no - Genstart derefter din SSH-dæmon:
sudo systemctl restart ssh
VIGTIGT: Sørg absolut for, at du stadig har root-adgang via din SSH-nøgle, før du deaktiverer adgangskode-login! Ellers kan du låse dig selv ude af serveren.
Mosh i Praksis: Fordele og Begrænsninger
Selvom Mosh tilbyder betydelige forbedringer i forhold til traditionel SSH, er det vigtigt at forstå både dets styrker og eventuelle begrænsninger for at udnytte det optimalt.
Vigtigste Fordele Opsummeret
- Uovertruffen forbindelsesstabilitet: Den mest fremtrædende fordel er Mosh's evne til at opretholde en session, selv under netværksafbrydelser. Dette gør det ideelt til mobile brugere, der skifter mellem Wi-Fi og mobildata, eller som oplever ustabile forbindelser. Du kan lukke din bærbare computer, flytte dig, og når du åbner den igen, er din session stadig intakt.
- Øjeblikkelig respons (lokalt ekko): Følelsen af at arbejde på en fjernserver forvandles, når tastetryk vises øjeblikkeligt. Dette eliminerer den irriterende forsinkelse, der ofte opstår på forbindelser med høj latenstid, og gør tekstredigering og kommandoindtastning flydende.
- Problemfri roaming: Mosh registrerer automatisk ændringer i din IP-adresse, så du kan skifte netværk uden at miste din session. Dette er en game-changer for dem, der arbejder på farten.
- Forbedret terminalemulering: Mosh håndterer Unicode-tegn og 'onde' escape-sekvenser bedre end mange standardterminaler, hvilket sikrer en mere robust og pålidelig visning, selv med komplekse output.
Kendte Begrænsninger
Ingen teknologi er perfekt, og Mosh har et par punkter, man skal være opmærksom på:
- Ingen kommando-historikbevaring: På grund af Mosh's forudsigende lokale ekko og unikke transmissionsmetoder kan det ikke opretholde en historie over tidligere brugte kommandoer på samme måde som en ren SSH-session. For at omgå dette anbefales det kraftigt at bruge en terminal multiplexer som
tmuxellerscreenpå din fjernserver. Disse værktøjer holder din session kørende i baggrunden, uafhængigt af din Mosh-forbindelse, og giver dig adgang til en vedvarende historik og mulighed for at genoptage sessioner. - Ingen indbygget understøttelse af SSH-tunneler/bastion hosts: Mosh har ikke indbyggede koncepter for SSH-tunneler eller bastion hosts. Hvis du har brug for at forbinde via en bastion host eller en tunnel, skal du etablere SSH-tunnelen i et separat vindue, før du starter din Mosh-session. Dog vil dette modarbejde nogle af Mosh's latenstidsfordele. Den bedste løsning i komplekse netværksmiljøer er ofte at bruge en VPN for at komme ind i det beskyttede netværk.
- UDP-porte skal åbnes: I modsætning til SSH, der typisk bruger TCP port 22, kræver Mosh, at en række UDP-porte (standard 60000-61000) åbnes i serverens firewall. Dette er et ekstra konfigurationstrin, som skal udføres.
Mosh på Microsoft Store og Blink Shell
Udover den fulde opsætning via WSL for Windows-brugere, er der også andre måder at opleve Mosh på:
- MobileShell på Microsoft Store: Udvikleren ADeltaX har bragt en Mosh-klient, kaldet MobileShell, til Microsoft Store. Selvom den er anført som en alfa-version og ikke er officielt listet, fungerer den på Windows 10 og tilbyder en forenklet adgang til Mosh. Vær dog opmærksom på, at den kan have begrænsninger og potentielle fejl, da den er i tidlig udvikling.
- Blink Shell: For iOS-brugere er Blink Shell en populær terminalklient, der leveres med indbygget Mosh-understøttelse lige ud af æsken. Dette gør det utroligt nemt at komme i gang med Mosh på iPhones og iPads, hvilket giver en fremragende oplevelse for mobile fjernarbejdere.
Ofte Stillede Spørgsmål (FAQ)
Hvad er den primære fordel ved Mosh?
Den primære fordel ved Mosh er dens evne til at opretholde en vedvarende shell-session, selv når din internetforbindelse er ustabil, falder ud eller skifter IP-adresse. Den reducerer også mærkbart latenstiden ved tastetryk, hvilket gør fjernarbejde mere flydende.

Skal jeg installere Mosh på både min lokale maskine og serveren?
Ja, Mosh skal installeres på både din lokale klientmaskine (f.eks. din Windows-pc med WSL, din Linux-maskine eller din macOS-maskine) og på den fjernserver, du ønsker at forbinde til. Det er et klient-server-system.
Hvilke porte bruger Mosh?
Mosh bruger UDP (User Datagram Protocol) porte i området 60000 til 61000 som standard. Du skal sørge for, at disse porte er åbne i firewallen på din fjernserver for at Mosh kan fungere korrekt. Du kan også angive en specifik UDP-port med -p-indstillingen, når du starter Mosh.
Kan Mosh bruges med SSH-nøgler?
Ja, Mosh bruger SSH til autentificeringsprocessen. Det betyder, at alle dine eksisterende SSH-autentificeringsmetoder, herunder SSH-nøgler og adgangssætninger, fungerer problemfrit med Mosh. Når autentificeringen er fuldført via SSH, overtager Mosh kontrollen med sessionen.
Mister jeg min kommando-historik med Mosh?
Mosh bevarer ikke kommando-historikken på samme måde som en almindelig SSH-session, primært på grund af dets lokale ekko-mekanisme. For at opretholde en vedvarende kommando-historik og sessioner anbefales det stærkt at bruge en terminal multiplexer som tmux eller screen på din fjernserver. Disse værktøjer holder dine shell-sessioner kørende i baggrunden, uafhængigt af din Mosh-forbindelse.
Kan jeg bruge Mosh, hvis jeg skifter Wi-Fi-netværk eller går fra Wi-Fi til mobildata?
Absolut! Dette er en af Mosh's største fordele. Takket være dets State-Synchronization Protocol (SSP) og roaming-funktioner kan Mosh problemfrit håndtere ændringer i din IP-adresse og netværksforbindelse. Din session vil forblive aktiv, selvom du skifter mellem forskellige netværk, uden at du behøver at genoprette forbindelse.
Er Mosh mere sikkert end SSH?
Autentificeringslaget i Mosh er stadig SSH, så sikkerheden af autentificering er den samme. Mosh tilføjer et lag af robusthed til selve forbindelsen. Mosh's brug af AES-128 i OCB3-tilstand til kryptering og autentificering af datagrammer sikrer, at kommunikationen er sikker. Den største sikkerhedsgevinst kommer fra den generelle anbefaling om at deaktivere adgangskodeautentificering på din server og udelukkende stole på stærke SSH-nøgler, hvilket også gælder for SSH alene.
Konklusion
Mosh er mere end blot en terminalklient; det er en game-changer for alle, der arbejder med fjernservere, især under mindre end ideelle netværksforhold. Med dens evne til at bevare sessioner på trods af forbindelsesafbrydelser, levere øjeblikkeligt lokalt ekko og problemfrit håndtere roaming, forvandler Mosh den ofte frustrerende oplevelse af fjernadgang til noget, der føles næsten lige så responsivt som at arbejde lokalt. Selvom opsætningen kan virke omfattende, især med WSL på Windows, er fordelene ved en stabil og effektiv fjernarbejdsflade det hele værd. Så tag springet, installer Mosh, og oplev en ny æra af problemfri fjernforbindelse.
Hvis du vil læse andre artikler, der ligner Mosh (Mobile Shell): Din Ultimative Forbindelse, kan du besøge kategorien Teknologi.
