GNU/Linux >> Znalost Linux >  >> Linux

Zbavte se problémů s připojením k síti v SSH pomocí Mosh

Pro přihlášení do vzdáleného systému jsme používali telnet. Kvůli závažným bezpečnostním chybám telnetu byl nahrazen ssh .

SSH umožňuje uživatelům přihlásit se do vzdálených systémů s/bez hesla, ale s pomocí soukromého klíče a veřejného klíče. Hlavní výhodou SSH je jeho šifrování. Umožňuje uživateli komunikovat se vzdáleným systémem bez obav z odposlouchávání nebo manipulace.

Nedostatky SSH

Aby fungoval ssh zjednodušeně řečeno jde o TCP spojení šifrovaných paketů.

SSH odesílá pakety mezi místním a vzdáleným systémem stejně jako telnet ale obsah paketu je zašifrován. Neexistuje žádné ukládání do vyrovnávací paměti a zpracování uprostřed. Dokonce i znaky, které napíšete, jsou odeslány do vzdáleného systému a poté vzdálený systém odešle svou odpověď (která obsahuje napsaný znak, který se má zobrazit na obrazovce) do místního systému.

Vidíte celý ten okružní výlet, abyste viděli jeden znak, který jste napsali ???

„““Pouze odesílá/přijímá šifrované pakety “””

Co se ale stane, když je síť odpojena nebo je velmi pomalá. TCP spojení bude přerušeno a místní systém zůstane bez chyby viset ve vzduchu. Není to typický zamrzlý linuxový systém, jen zamrzlý terminál s odpojeným připojením SSH.

Možná jste měli frustraci s ssh v jedné z níže uvedených situací.

  1. Vaše síťové připojení je odpojeno. Vaše ssh relace nic neukáže. Když napíšete do shellu, všimnete si, že se nic neděje. A poté zkontrolujete ikonu internet/Wi-fi.
  2. Pokud máte pomalé připojení k internetu, nastane stejná situace. Znaky, které zadáváte v místním systému, se mohou objevit po sekundách, v horších případech dokonce po minutách.
  3. Když jste delší dobu neaktivní, někdy SSH přestane fungovat, i když váš počítač nebyl nečinný a síťové připojení bylo aktivní.

Abychom to shrnuli, SSH poskytovalo skvělé zabezpečení, ale malou použitelnost při připojení s vysokou latencí. Příkaz nohup v Linuxu můžete použít k pokračování spouštění příkazů i po výpadku připojení SSH, ale není to opravdu dobré řešení. Víte, co je lepší? Mosh!

Mosh:SSH bez problémů s připojením

Mosh je zkratka pro MObile SHell . Poskytuje jednoduché řešení všech výše uvedených problémů. Využívá techniku ​​podobnou ukládání do vyrovnávací paměti a synchronizaci položek (objektů) pomocí protokolu SSP (state-Synchronization Protocol). A k přenosu paketů používá UDP, což je protokol bez připojení.

Chcete-li vědět, jak mosh funguje, přečtěte si jeho oficiální stránku.

Aby se zabránilo znovuobjevování kola, mosh používá ssh pro ověření. Nemusíte tedy vytvářet nové páry klíčů nebo uživatele a podobně. Takže všechny bezpečnostní výhody, které ssh has je také s mosh . To také znamená, že byste měli mít funkční nastavení SSH v místním i vzdáleném systému.

Instalovat mosh na Ubuntu a další distribuci Linuxu

Pokud nemáte nainstalované a nakonfigurované ssh, naučte se prosím základy SSH a povolte SSH na Ubuntu nebo jakémkoli Linuxu, který používáte.

Poté, co se ujistíte, že máte funkční nastavení SSH, je instalace mosh přímočarým úkolem. Balíček, který potřebujete nainstalovat, je stejný v místním i vzdáleném systému.

Chcete-li nainstalovat mosh v distribucích Linuxu založených na Ubuntu nebo Debianu můžete použít následující příkazy, jeden po druhém:

sudo apt update
sudo apt install mosh

Mosh je dostupný ve všech hlavních distribucích Linuxu. K instalaci použijte správce balíčků vaší distribuce.

Po dokončení instalace moshe je vše připraveno na straně klienta/místní. Na vzdálené straně (tj. serveru) musíte provést jednoduchou konfiguraci.

Konfigurace mosh na vzdáleném serveru

Pamatujte na část, kterou jsem řekl mosh používá UDP? Ve výchozím nastavení mosh používá porty UDP 60000-61000. Pokud tedy máte na vzdáleném systému firewall, musíte přepsat pravidlo brány firewall pro tyto porty následovně. ufw je správce brány firewall.

sudo ufw allow 60000:61000/udp

Připojme se prostřednictvím mosh

Od této chvíle máme funkční SSH, mosh, který je nainstalován v obou systémech, a pravidlo brány firewall, které umožňuje provoz UDP na portech 60K-61K na vzdáleném serveru.

Chcete-li použít mosh, je to stejně jednoduché jako níže

mosh [email protected]

To jo! Vím. Je to tak jednoduché jako ssh.

Ale co když potřebuji zadat jiný než výchozí port ssh nebo použít možnosti specifické pro ssh. mosh tě má pokryté. Stačí předat „možnost ssh [argument] ” na možnost –ssh .

Potřebuji se například připojit k ssh běží na portu 2222 na vzdáleném serveru. Lze to provést následovně.

mosh [email protected] --ssh="ssh -p 2222"

Tím jsou systémy propojené. Nyní, abyste si uvědomili sílu mosh, zkuste síťové připojení vypnout a znovu zapnout. Můžete vidět, že mosh stále funguje. Jak skvělé to je!

Doufám, že se vám tento návod na Mosh líbil. Od té doby, co jsem objevil Mosh, jsem přestal používat ssh pro připojení ke vzdáleným serverům. co ty? Líbil se vám Mosh nebo stále preferujete SSH? Podělte se o své názory.


Linux
  1. Odstraňte problémy se sítí pomocí tcpdump

  2. Automatizace hesel SSH v Linuxu pomocí sshpass

  3. Výčet nové sítě pomocí Nmap

  1. Jak se dostat ke službě/serveru, který je v nepřístupné síti (pomocí SSH tunelů)

  2. Začněte s cloudovými servery

  3. Získejte sílu signálu sítě Wi-Fi s nmcli

  1. Začněte s NetworkManagerem v systému Linux

  2. Diagnostikujte problémy s připojením pomocí příkazu Linux ping

  3. Telnet k portu pro testování síťové konektivity