Publikováno
Pokud potřebujete používat SSH v Linuxu ke vzdálené správě jiných počítačů, tato příručka vás provede právě tím.
V dnešní propojené krajině se schopnost spravovat počítače z různých geografických míst rozrostla z luxusu na nutnost. Existuje několik způsobů, jak to provést, v závislosti na používaném operačním systému. Pro Systémy založené na Linuxu, nejběžnějším a nejbezpečnějším způsobem vzdálené správy počítače je použití SSH (nebo Secure Shell).
Pojďme se ponořit do toho, jak používat SSH v Linuxu pro připojení k jiným počítačům.
Základní první kroky
Než se budete moci úspěšně připojit k jinému počítači se systémem Linux pomocí SSH, musíte splnit následující předpoklady:
- Cílový počítač musí zůstat zapnutý a připojený k síti.
- Potřebný klientský a serverový software musí být nainstalován a aktivován.
- Budete potřebovat znát IP adresu nebo název hostitele cílového počítače.
- Musí být zavedena příslušná oprávnění pro vzdálený přístup.
- Konfigurace brány firewall na vzdáleném počítači musí povolit příchozí spojení.
Pokud přistupujete k počítači se systémem Linux, který provozuje řekněme vaše webhostingová společnost, měla by se o to již postarat. Dále možná budete muset provést základní instalaci softwaru na svém vlastním počítači se systémem Linux.
Používání SSH v systému Linux: Praktický průvodce
Navázání funkčního připojení SSH vyžaduje softwarové moduly klienta i serveru. OpenSSH slouží jako open-source alternativa převážně pro platformy Linux.
Chcete-li nainstalovat správného klienta OpenSSH, budete potřebovat terminálový přístup na místním počítači. Všimněte si, že systémy Ubuntu nemají předinstalovaný SSH server.
Instalace klienta OpenSSH
Než se ponoříte do procesu instalace, měli byste zkontrolovat, zda tam klient SSH již není. K tomu, jen otevřete okno terminálu. Můžete buď vyhledat „terminál“ nebo stisknout ctrl + alt + t na vaší klávesnici.
V okně terminálu otestujte přítomnost klienta SSH zadáním následujícího:
$ ssh
Pokud má počítač se systémem Linux již nainstalovaného klienta SSH, zobrazí se po obrazovce následující informace.
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] destination [command [argument ...]]
Pokud místo toho obdržíte stížnost na nenalezení souboru, budete muset pokračovat v instalaci klienta OpenSSH. Naštěstí je to dostatečně jednoduché.
Na Ubuntu a dalších instalacích založených na Debianu stačí spustit následující příkaz v Terminálu:
$ sudo apt install openssh-client
Pokud používáte Fedoru nebo další distribuce který používá Mňam namísto apt, stačí spustit tento příkaz:
$ sudo yum -y install openssh-clients
Novější systémy Fedory mohou používat dnf namísto. Pokud to zní jako vy, magický příkaz je:
$ sudo dnf install -y openssh-clients
Postupujte podle pokynů na obrazovce a za chvíli budete připraveni jít.
Zahájení připojení SSH
Jakmile se ujistíte, že je na vašem počítači se systémem Linux nainstalován klient SSH, je čas zahájit první připojení. Zatímco jste stále v okně terminálu, zadejte následující příkaz:
$ ssh username@host_ip_address
Pokud se uživatelská jména shodují na místních a vzdálených počítačích, jednoduše zadejte:
$ ssh host_ip_address
Při prvním připojení budete uvítáni dotazem, zda chcete pokračovat v připojení k neznámému počítači. V tomto okamžiku zadejte Ano a pokračovat.
Zadejte své heslo a uvědomte si, že během zadávání nezískáte žádnou zpětnou vazbu na obrazovce. Po dokončení byste měli být přihlášeni ke vzdálenému serveru a můžete začít dělat jakýkoli úkol, který potřebujete provést na tomto počítači.
Pochopení SSH: Přehled na vysoké úrovni
Secure Shell nebo SSH – občas označovaný jako Secure Socket Shell – je protokol umožňující bezpečné připojení ke vzdáleným serverům nebo počítačům prostřednictvím textového rozhraní.
Po ověření zabezpečeného kanálu SSH se inicializuje relace shellu, která umožňuje interakci příkazového řádku z vašeho místního počítače.
Tento protokol je dobře známý a milovaný správci systému a sítě, stejně jako kdokoli, kdo potřebuje bezpečnou vzdálenou správu strojů.
Mechanika funkčnosti SSH
Vytvoření kanálu SSH vyžaduje spolupráci dvou klíčových komponent: aplikace na straně klienta a jejího protějšku na straně serveru. Klientská aplikace zahájí připojení poskytnutím pověření vzdáleného hostitele.
Po ověření vytvoří software mezi dvěma počítači šifrovaný kanál. Na vzdáleném počítači démon SSH neustále prohledává určený port TCP/IP a hledá potenciální požadavky na připojení.
Po přijetí démon sdělí svůj software a možnosti protokolu a obě entity si vymění identifikační data. Pokud se přihlašovací údaje shodují, dojde k šifrované relaci, převážně prostřednictvím protokolu SSH verze 2.
Pokročilé použití SSH: Uložte si šifrovací klíč, abyste se vyhnuli zadávání hesla
Nyní řekněme, že se tomu chcete vyhnout zadejte heslo pokaždé, když se přihlásíte ke vzdálenému serveru. Pro bezpečné připojení k jinému počítači bez hesla je klíč SSH (Secure Shell) nezbytný.
Možná již takový klíč vlastníte, ale vygenerovat nový není nikdy špatný nápad. Klíč SSH, který pochází z vašeho místního počítače, je rozdělen na dva odlišné prvky: důvěrný, soukromý klíč – nikdy nesmí být vyzrazen – a jeho veřejný protějšek. Tento veřejný klíč je poté šířen do všech vzdálených systémů, ke kterým se potřebujete přihlásit.
Někteří lidé se mohou rozhodnout pro jeden klíč SSH pro velké množství aplikací, od přihlášení do vzdáleného systému až po GitLab. Jeden klíč, který jim všem vládne, dalo by se říci. Můj přístup je však podrobnější. Používám různé klávesy, z nichž každá je určena pro určitou podmnožinu úkolů.
Například používám vyhrazený klíč pro místní počítače v mé domácí síti, což je další exkluzivní klíč pro webové servery pod mou správou a další jedinečný klíč pro interakci s Git hostitelé.
Vytvoření nového páru klíčů SSH
Zde je návod, jak vytvořit nový klíč SSH a poté jej zkopírovat na vzdálený server, pro který jej chcete použít. Nejprve vytvořte klíč pomocí ssh-keygen.
$ ssh-keygen -t ed25519 -f /.ssh/lan
Vlajka -t určuje typ klíče, který se má vytvořit, a zajišťuje, že šifrování je vyšší než výchozí. The -F flag nastavuje název souboru klíče a umístění.
Když zadáte tento příkaz, budete vyzváni k vytvoření hesla pro klíč. Toto heslo, pokud ho nastavíte, zůstane místní a nebude odesláno přes síť.
Odeslání vašeho klíče SSH na vzdálený server
Dále budete muset odeslat tento bezpečnostní klíč na vzdálený server. Chcete-li to provést, stačí zadat tento příkaz:
$ ssh-copy-id -i /.ssh/lan.pub user@host_ip_address
Budete vyzváni k zadání přihlašovacího hesla na vzdáleném hostiteli. Po dokončení procesu se však váš klíč nainstaluje do tohoto počítače.
Měli byste otestovat pokusem o přihlášení do vzdáleného počítače. Když znovu provedete ssh do vzdáleného hostitele, budete požádáni o heslo pro klíč, pokud jej nastavíte. Toto není vaše přihlašovací heslo, nezapomeňte. Je to přístupová fráze specifická pro tento klíč SSH.
Na mnoha distribucích, včetně Linuxu, se tato výzva k zadání hesla otevře jako dialogové okno. Jak můžete vidět z níže uvedeného příkladu, můžete zaškrtnout políčko, aby si počítač se systémem Linux zapamatoval přístupovou frázi. To však sníží zabezpečení klíče.
Jakmile zadáte přístupovou frázi pro váš klíč SSH, neměli byste ji znovu zadávat, dokud se neodhlásíte z místního počítače.
Další způsoby použití SSH
Po tom všem je dobré začít používat SSH pro vzdálený přístup k jiným počítačům založeným na Linuxu nebo Unixu. Samozřejmě nejde jen o to, dostat se do příkazového řádku.
SSH také obsahuje bezpečný způsob přenosu souborů mezi počítači bez použití FTP. Můžete použít Secure Copy nebo scp přesunout ty soubory. Pokud jste uživatelem Windows 11 a potřebujete používat SSH, máte štěstí, protože klient je předinstalován. Můžeš dokonce generovat a používat SSH klíče ve Windows 11.