Obsah:
Pokud jste technický odborník, bezpochyby víte o Secure Shell (SSH) a pravidelně jej používáte pro připojení ke vzdáleným systémům. Přestože je SSH skvělým nástrojem, předpokládá, že máte spolehlivé kabelové připojení. Na bezdrátových připojeních to nefunguje vždy, což může být nespolehlivé. Jeden nový nástroj, který se změnil, je Mosh nebo Mobile Shell, který umožňuje uživatelům připojit se ke vzdáleným systémům a zůstat v kontaktu, i když síť klesá nebo přepínáte sítě.
Proč Mosh?
Secure Shell je nepostradatelný pro administrátory, programátory a výkonné uživatele, kteří se potřebují přihlásit k serverům, ať už v hale nebo v celé zemi. Je to bezpečná a šifrovaná náhrada za Telnet. Je to skvělý nástroj, ale byl navržen v 90. letech, kdy se začaly běžet mobilní počítače na Wi-Fi. SSH předpokládá spolehlivé kabelové připojení, což není vždy případ mobilních uživatelů. Jak mnoho lidí zjistilo, připojení Wi-Fi je často špinavé a je nemožné změnit připojení, například z Wi-Fi na LTE, aniž by došlo k přerušení spojení.
Jindy to není chyba připojení, ale spíše uživatel. Nebo, jak se říká v IT, jedná se o PEBKAC (problém existuje mezi klávesnicí a židlí). Můj nejoblíbenější je zavírání víka a zapomínání, že jsem přihlášený ke vzdálenému počítači přes SSH. Otvírám víko a píšu do okna terminálu a nic se neděje. Mohu jen zabít relaci a znovu se přihlásit. Je to nepříjemné, ale udělal jsem to nespočetkrát a jsem si jistý, že máte také.
Mnoho lidí se to snaží zmírnit pomocí programů jako GNU Screen a tmux. Jedná se o terminálové multiplexery, které vám nejen poskytují příkazy jako procházení v záložkách, ale mohou také zachovat vaši relaci v případě, že vaše připojení klesne. Stačí se přihlásit zpět a můžete si vyzvednout, kde jste skončili. Jak užitečné jsou tyto programy, problémy se samotným SSH stále přetrvávají.
Byl jsem rezignován na svůj osud SSH, ale jednoho dne jsem narazil na nový program na shellovém serveru, na kterém jsem visel. Mosh je pokus o zlepšení SSH, díky čemuž je vhodný pro použití v notebookech. Vyvinuli ho někteří chytrí lidé na MIT, lidé, kteří nám přivedli Lispa (takže asi znají dobrou věc, když ji uvidí). Keith Winstein, jeden z hlavních vývojářů, vytvořil video ukazující, jak to funguje.
Tvůrci Mosha to popisují jako náhradu za SSH, která je robustnější a citlivější, zejména prostřednictvím Wi-Fi, celulárních a dálkových spojení.
Jak to funguje
Mosh používá nový protokol zvaný Státní synchronizační protokol (SSP). To staví na tradičních protokolech vzdáleného připojení, jako je Telnet a SSH. V SSH server pouze pošle některé bajty za klientem, který má být interpretován.
SSP přidá další vrstvu. Server a klient sledují, co bylo odesláno pomocí sekvenčních čísel. Pokud server získá pořadové číslo, které je vyšší než to, které dříve odeslalo, je dost chytré na to, aby zjistil, že se klient přesunul k jinému připojení. To znamená, že je snadné přecházet ze sítě Wi-Fi do sítě Wi-Fi nebo ze sítě Wi-Fi do mobilní sítě nebo ze sítě Wi-Fi ke kabelovému připojení - atd.
Další příjemnou funkcí, kterou Mosh nabízí, je ozvěna charakteru v reálném čase. Obvykle, pokud jste na SSH, můžete najít zpoždění mezi zadáním a čekáním, až se vaše postavy objeví na obrazovce, když server opakuje to, co píšete zpět.
Získání
Pokud vás zaujalo, budete rádi, že instalace Mosh je dostatečně snadná. Většina hlavních linuxových a unixových distribucí je má ve svých úložištích. Domovská stránka Mosh ukazuje příklady použití Debian a Ubuntu, stejně jako Gentoo, Arch a Fedora. Protože Mac OS X je založen na Unixu, mohou se k němu připojit i uživatelé Macu. K dispozici je nativní balíček a lidé, kteří jej chtějí kompilovat na počítačích Mac pomocí Homebrew a MacPorts. Pokud váš systém nemá Mosh jako balíček, můžete si jej stáhnout a zkompilovat sami, pokud potřebujete.
Když máte nainstalovaného klienta, jste připraveni uvést Mosha do provozu a přihlásit se. Přihlaste se přesně jako vy s SSH. Ve skutečnosti Mosh ve skutečnosti nezpracovává přihlášení; předává přihlašovací údaje společnosti SSH. To je užitečné, pokud k bezpečnému přihlášení bez šifrování používáte funkce šifrování veřejných klíčů SSH.
Existuje však jeden úlovek. K připojení se potřebujete server Mosh. Naštěstí pro instalaci nemusíte být superuživatelem. Můžete jej dokonce umístit do svého domovského adresáře a spustit jej tímto způsobem, pokud nemůžete sysadminovi při instalaci nainstalovat. Mosh je stále nový, takže možná se jednoho dne na serverech stane stejně všudypřítomný jako SSH.
Další věc: Mosh očekává, že váš terminál bude podporovat UTF-8. Téměř všechny moderní emulátory terminálů ano, ale možná budete muset nastavit proměnnou prostředí $ LANG, než server ve vzdáleném systému přijme připojení.
Zůstat naživu
Nyní, když jste připojeni, můžete začít pracovat s kódováním nebo upravovat konfigurační soubory nebo spravovat vzdálené počítače, ať už doma, v práci, ve vlaku nebo v cestovní výšce.
Odpojením Wi-Fi můžete vyzkoušet, jak robustní je Mosh. Mosh zobrazí zprávu v horní části terminálu a řekne, že nemá spojení, spolu s časovačem. Znovu se připojte a vaše relace se zvedne přesně tam, kde skončila. Funguje to také, pokud zavřete víko notebooku.
Mosh je ještě lepší, když je spárován s terminálovým multiplexerem, jako je GNU Screen nebo tmux. Byli v minulosti používáni tak, jak je to Mosh, aby udrželi SSH relace aktivní nad nespolehlivými spojeními, ale při použití s Moshem stále nabízejí některé výhody. Můžete například odpojit od jednoho terminálu, odhlásit se a přihlásit se z jiného počítače, vyvolat multiplexor a nechat jej pokračovat. To je velmi užitečné pro dlouhé práce. Je také populární pro vášnivé uživatele IRC, aby zůstali připojeni na shell serveru a odpojili se podle potřeby.
Čas na Mosha?
Nyní, když jste dostali chuť, jak Mosh může váš mobilní vzdálený přihlašovací zážitek mnohem zlepšit, proč to nezkusit sami?