GNU/Linux >> Znalost Linux >  >> Linux

Co je příkaz SSH a jak používat SSH pro připojení ke vzdálenému serveru

Mohou nastat situace, kdy je nutné vzdálené přihlášení k počítači. Můžete vyžadovat přístup k souboru, potřebujete pomoci příteli s problémem nebo dokonce přenášet soubory mezi počítači. Ať už je to cokoli Secure Shell (SSH) umožňuje připojit se k jinému počítači se systémem Linux (nebo skutečně k jinému unixovému systému, jako je BSD nebo Solaris) prostřednictvím šifrovaného připojení. Aby vzdálený hostitel mohl přijímat připojení SSH, musí mít spuštěného démona (sshd) a musí přijímat příchozí pakety na port 22 pokud je použit firewall.

Jak SSH funguje

Myšlenkou SSH je umožnit uživateli vzdálenou interakci s počítačem přes terminál přes šifrované spojení. To znamená, že přenášená data (jako je uživatelské jméno a heslo používané k přihlášení) jsou zabezpečená, což útočníkovi brání ve snadném shromažďování citlivých dat pomocí snifferu paketů, což by byl případ, kdy byste používali Remote Shell (RSH) přes internet, protože vaše přihlašovací údaje budou odeslány na server jako prostý text (bez šifrování).

Nastavení SSH

Pokud váš počítač nemůže přijímat připojení SSH, budete muset nainstalovat protokol SSH, pokud ještě není nainstalován. Systémy jako Ubuntu by měly nakonfigurovat démona SSH (sshd), aby běžel při spuštění. Pokud je k dispozici brána firewall, možná budete muset nakonfigurovat nastavení tak, aby umožňovala příchozí připojení k portu 22 nebo libovolnému portu, který jste zvolili SSH pro přijímání příchozích připojení.

$ sudo apt install ssh   

Jednoduchá ukázka

Stejně jako u mnoha věcí s Linuxem je proces přihlášení do vzdáleného shellu jednoduchý. Otevřete terminál a přihlaste se do počítače pod uživatelským jménem „unix_allsort“:

$ ssh [email protected] 

Pokud je to poprvé, co jste se přihlásili ke konkrétnímu hostiteli pomocí počítače pod aktuálním uživatelem, zeptá se vás, zda chcete tohoto hostitele přijmout do seznamu známých připojení. Pokud tomu tak není a dostanete tuto zprávu, může to být úplně jiný hostitel, což by mohlo naznačovat, že se někdo vydává za tento počítač!

Jakmile se ověříte, měli byste být schopni procházet systémem, jako kdybyste byli u počítače osobně.

Můžete dokonce použít SSH na tomto počítači pro přístup k jinému vzdálenému počítači:

[email protected]:~$ ssh [email protected]   

Spouštění programů na vzdálených hostitelích NEBO SSH Spuštění vzdáleného příkazu

Po přihlášení pomocí SSH existuje možnost spustit aplikaci na vzdáleném hostiteli. Příkladem může být spuštění editoru pro úpravu konkrétního souboru na uvedeném hostiteli.

$ ssh -t [email protected] vim ~/Documents/list.txt

Vim byste mohli používat stejně, jako kdybyste tento počítač používali osobně. Volba „-t“ je vyžadována vždy, když chcete spouštět programy jako vim ze vzdáleného hostitele. Tento parametr se používá k vynucení přidělení pseudoterminálu. Manová stránka uvádí, že programy založené na obrazovce, jako je vim, by měly být spouštěny s touto volbou z tohoto důvodu. Pokud toto chybí, některé terminálové aplikace nemusí fungovat správně.

Aplikace GUI

SSH také poskytuje způsob, jak spustit program X11 GUI, jako je Firefox, na rozdíl od pouze textového programu.

$ ssh -X [email protected] 

Firefox Parametr ‚-X‘ jednoduše říká vzdálenému hostiteli, aby povolil připojujícímu se počítači spouštět mnoho X aplikací, když k tomu dostane příkaz, ať už přes shell nebo jinak. Tímto způsobem lze spustit mnoho programů, webové prohlížeče, editory, dokonce i některé programy pro Windows přes Wine. Zjistil jsem, že terminálové emulátory na X odmítají běžet. Další informace o předávání X11 naleznete také na stránce manuálu.

Poznámka: Při protokolování pomocí SSH s povoleným předáváním X11 se můžete setkat s touto chybou:/usr/bin/xauth:časový limit v zamykacím souboru oprávnění /home/vaše_domovina/.Xauthority Pokud k tomu někdy dojde, problém je v tom, že soubor zámku pro 'xauth' již existuje. Řešením je odstranit soubor zámku. Může jich být více, takže spusťte tento příkaz, abyste je odstranili (v případě potřeby násilně):

$ rm -rf ~/.Xauthority-* 

Odhlaste se z relace SSH a znovu se přihlaste. Poté byste měli být schopni znovu spustit X aplikací.

Konfigurace SSH bez hesla

Je možné se vzdáleně přihlásit k počítači, aniž byste museli zadávat své přihlašovací údaje. To vyžaduje, aby byly počítače nastaveny tak, aby umožňovaly vašemu počítači přihlášení takovým způsobem, kterého lze dosáhnout pomocí párů klíčů vygenerovaných pomocí „ssh-keygen '.

Nejprve je potřeba vygenerovat klíč. Zde je přijatelné držet se výchozích hodnot. Protože smyslem tohoto cvičení je přeskočit zadávání jakéhokoli hesla nebo přístupové fráze do terminálu pokaždé, když je iniciována relace, chceme pro tento klíč mít žádnou přístupovou frázi.

Poté, co bylo vše vytvořeno, je třeba ky nalezené v souboru identity nainstalovat na vzdálený počítač:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Pokud byly tyto kroky provedeny správně, měli byste být schopni se přihlásit přes SSH do počítače, aniž byste byli vyzváni k zadání hesla.

Nástroje, které spoléhají na SSH

Zabezpečená kopie

SCP (Secure Copy) umožňuje uživatelům kopírovat soubory na nebo ze vzdáleného hostitele přes zabezpečené připojení. Syntaxe je velmi podobná příkazu „cp“, kde zadáváte soubory nebo složky a jejich cíl. Zde je příklad:

$ scp ~/Documents/shopping.odt [email protected]:~/Documents 

Právě jsme zkopírovali soubor přes internet prostřednictvím zabezpečeného připojení ke vzdálenému počítači. Totéž lze provést i pro složky:

$ scp -r [email protected]:~/Documents/Reports ~/Documents 

To zkopíruje složku (proto „-r“ pro rekurzivní) a její obsah ze vzdáleného počítače do vašeho počítače.

SSH File Transfer Protocol (SFTP)

SFTP umožňuje bezpečný přístup a přenos souborů pomocí protokolu pro přenos souborů přes SSH.

Závěr

Pomocí SSH se za normálních okolností můžete snadno přihlásit k jinému počítači téměř odkudkoli. Přesměrování X11 lze povolit pro spouštění aplikací GUI ze vzdáleného počítače a programy lze spouštět místo spouštění shellu. Manuál pro SSH poskytuje mnoho užitečných informací, tak se na to podívejte.


Linux
  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Co je příkaz cURL a jak jej používat?

  3. Co je to pošta a jak se v ní orientuje?

  1. Jak používat příkaz Linux Rsync (vzdálená synchronizace).

  2. Jak se připojit k ssh serveru pomocí plink a cmd a veřejného klíče

  3. Jak nainstalovat a používat nástroj příkazového řádku Mosh Linux

  1. Příkaz lspci:Co to je a jak jej používat

  2. Co je to chroot jail a jak jej používat?

  3. Jak připojit vzdálený hostitel pomocí příkazu ssh