Mosh, of “Mobile Shell,” is ontworpen om een vervanging voor SSH, speciaal voor mobiele apparaten of laptops op langzame verbindingen. Mosh werkt via UDP, en houd je je verbinding leven, zelfs als u de WiFi-netwerken of ervaring fluctuerende cel-signaal.
Wat Is Mosh?
Mosh UDP-gebaseerd systeem voor de overdracht maakt het stabieler dan traditionele SSH, als het behandelt packet loss veel effectiever. Als uw verbinding wegvalt voor een beetje, Mosh herstelt het contact met u zo snel als het komt, het verlaten van uw commando ‘ s in de plaats als je aan het typen.
Ook vermindert latency; als u ooit hebt geprobeerd om SSH op een trage server, ziet u zelfs uw toetsaanslagen worden langzaam en reageert niet. Dit is omdat de SSH client wacht op een TCP reactie van de server voordat u met uw het typen in het geval de server onderschept het voor een bepaalde reden. Mosh is intelligenter, en zal op het display van uw het typen in real-time. Het geeft zelfs onderstreept typen voorspellingen, dat is ook handig.
Als lange termijn persistentie is alles wat u zoekt, kunt u in plaats daarvan gebruik van tmux op uw server via SSH. Tmux splitst uw terminal in meerdere vensters, elk met meerdere tabbladen, die alle aanhouden op de server over SSH sessies. Het voordeel hier is dat als je SSH sessie wordt verbroken, heeft dit geen invloed op wat er op de server, vergelijkbaar met Mosh.
Maar Mosh en tmux ook goed samen te spelen, als Mosh automatisch sluit u aan uw tmux-sessie als uw verbinding wegvalt, zonder te lopen ssh en tmux -t [naam] weer opnieuw.
Hoe Veilig Is Mosh?
Mosh maakt de eerste verbinding via SSH, dus de verificatie is ongeveer net zo veilig is als de SSH is. Het maakt gebruik van AES-128 encryptie voor het verkeer gestuurd over UDP, zodat je het verkeer niet kan worden gesnoven.
Het belangrijkste probleem met Mosh is dat het vergt veel van de poorten openen. Mosh kunt gebruik maken van een poort tussen 60000-61000, afhankelijk van het IP-adres van de verbinding. En terwijl je meestal dezelfde poort gebruiken voor de duur van de verbinding, het is niet gegarandeerd. Dit is niet een groot probleem, maar het openen van 1000 poorten is niet echt een goede beveiliging van de praktijk.
Als je een firewall zoals iptables, je hebt om deze poorten te openen handmatig:
sudo iptables -I INPUT 1 -p udp –dport 60000:61000 -j ACCEPT
En als je het runnen van een server op een dienst zoals AWS, je moet de poorten openen door hun firewall. Als je wilde het om zekerder te worden, je zou kunnen gebruiken poort kloppen sluit deze adressen en alleen openen wanneer Mosh klopt, maar dit is ook niet ideaal als de poort verandert tijdens uw sessie.
Bottom line, als u Mosh en dat je je zorgen maakt over de beveiliging, je moet wel luisteren te maken op uw privé-netwerk en een VPN gebruiken.
Installeren Mosh Server en Ontvang een Mosh-Client
Voor Mosh te werken, de server nodig heeft om de Mosh binaire bestanden die geïnstalleerd zijn. Dit maakt het niet uitvoeren van een daemon, zoals sshd gebruikt worden, dan is de eerste opdracht van uw Mosh-client wordt uitgevoerd wanneer de verbinding via SSH. Wanneer de verbinding wordt gesloten, wordt de server beëindigt het lopende Mosh-server.
De installatie is heel eenvoudig, als het beschikbaar is op de meeste package managers. Voor Debian-gebaseerde systemen als Ubuntu, dat zou worden:
sudo apt-get install mosh
Dit installeert de client en de server, dus je zult hetzelfde pakket installeren op beide. Server-georiënteerde installaties zal gewoon moeten vervangen apt-get voor uw distro ‘ s package manager.
Voor Windows, zult u de installatie van de client voor Chrome. Er is geen binaire nog voor Windows.
Voor macOS installeren kunt u het pakket direct, of te installeren, het gebruik van Homebrew:
brew installeren mosh
Voor iOS, kunt u gebruik maken van een app zoals Termius of Knipperen Shell.
En voor Android, kunt u gebruik maken van een app zoals Termux of JuiceSSH.
In ieder geval, je verbinden als je dat zou doen met SSH:
mosh gebruiker@server
Deze verbinding maakt met een gebruikersnaam en wachtwoord. Als dit niet de ideale oplossing voor u, u kunt ook handmatig nieuwe SSH-opties met de –ssh parameter:
mosh –ssh=”~/bin/ssh -i ~/ssh/id_rsa” gebruiker@haven
Deze opdracht zal gebruik maken van uw persoonlijke sleutel in plaats van een wachtwoord. Let op dat de server moet worden geconfigureerd voor het accepteren van deze private sleutel, vooral als het een nieuwe komst van een telefoon of ander apparaat.