GNU/Linux >> Znalost Linux >  >> Linux

Začínáme s SSH v Linuxu

Díky propojenému světu, ve kterém žijeme, již nepotřebujete mít fyzický přístup ke svému serveru. Váš server může být kdekoli na světě a můžete se k němu připojit z místního počítače.

Existuje mnoho protokolů a nástrojů, které jsou vyvinuty pro tento účel. Patří mezi ně telnet a ssh . Telnet není preferován kvůli bezpečnostním problémům. Na druhou stranu je ssh oblíbeným způsobem bezpečného připojení ke vzdáleným systémům.

V tomto článku se budu zabývat některými užitečnými příkazy a nástroji, které musí uživatel Linuxu znát, aby mohl používat vzdálený systém a jeho prostředky přes ssh.

Všimněte si, že většina příkazů, které spouštíte na svém osobním lokálním systému Linux, by měla být dostupná také na vzdáleném systému (jako je ls, cat, cd command atd.). Jejich spuštění však závisí na oprávněních přidělených vzdálenému uživateli jako u jakéhokoli systému Linux/UNIX.

Co je SSH?

ssh nebo secure shell je síťový protokol pro bezpečný provoz síťových služeb přes síť. K bezpečnému připojení a přihlášení ke vzdálenému systému používá šifrovací standardy.

Ukládá veřejný klíč ve vzdáleném systému a soukromý klíč v klientském systému. Tyto klíče jsou matematicky vyráběny jako pár. Když jsou obě použity na funkci s dvěma proměnnými, výsledkem bude hodnota, která bude použita ke kontrole, zda je pár platný nebo neplatný. Toto je nejjednodušší možné vysvětlení. Chcete-li se dozvědět více, přejděte na tuto stránku.

Příklady použití SSH

Začněme s nastavením ssh a opravdu skvělé případy použití.

Vygenerovat klíč ssh

Webové stránky jako GitHub a Heroku požadují vaše ssh veřejný klíč, abyste mohli nasadit/nasadit kód bez zadání hesla a nemáte takový pár klíčů? nebojte se. Takový pár klíčů ssh můžete vygenerovat pomocí tohoto  příkazu:

ssh-keygen

Vyzve k zadání umístění klíče (kam bude klíč uložen) a přístupové fráze (tj. hesla). Přístupová fráze je volitelná.

Ve výchozím nastavení jsou klíče ssh uloženy v adresáři .ssh ve vašem domovském adresáři.

Pokud je umístění klíče DIR_PATH/keypairforssh , budou dva soubory

  1. DIR_PATH/keypairforssh
  2. DIR_PATH/keypairforssh.pub

1 je soubor soukromého klíče, který nesmíte s nikým sdílet
2 je soubor veřejného klíče, který lze sdílet se vzdálenými systémy (prostřednictvím jiné důvěryhodné komunikace, jako je pošta, fyzický přenos a další zabezpečené komunikační nástroje) a službami, jako je Github, Heroku pro příslušné případy použití. Nezapomeňte si důkladně zkontrolovat službu, pro kterou se připojujete.

Přidat soukromý klíč k agentovi klíče

Když je pár klíčů vytvořen, existuje pouze jako sada dvou souborů. Aby se mohl připojit ke vzdálenému systému, musí použít soukromý klíč. Měli byste tedy informovat, že toto DIR_PATH/keypairforssh je soukromý klíč.

To provádí

ssh-add keylocation

V našem případě je to

ssh-add DIR_PATH/keypairforssh

Připojení ke vzdálenému hostiteli přes SSH

Pokud jsou soukromý klíč a veřejný klíč na správných místech, můžete se tímto způsobem připojit k systému.

ssh [username]@hostname

Uživatelské jméno by mělo být platným uživatelem ve vzdáleném systému a název hostitele je rozpoznatelný pomocí DNS nebo IP adresy, aby ssh mohl kontaktovat vzdálený systém a požádat o připojení.

Například pro připojení k systému s názvem „linuxhandbook “ s uživatelským jménem „seeni “, použijte:

ssh [email protected] 

Jak bylo vysvětleno dříve, výše uvedený příkaz používá soukromý klíč na místním systému a veřejný klíč na vzdáleném systému a ověřuje, že se jedná o platné páry. Umožňuje přihlášení tehdy a pouze tehdy, když je pár klíčů platný a vytvoří shell (typ závisí na konfiguraci pro uživatele na vzdáleném systému) pro vaše použití. Vzdálený systém můžete používat stejně jako místní systém.

Předpokládejme, že soukromý klíč není přidán k agentovi klíče, pak se můžete přihlásit pomocí ssh, jak je uvedeno níže.

ssh -i /path/to/private/key/file [email protected]

Tato kontrola párů klíčů se obvykle provádí jednou. Ssh přidá vzdáleného hostitele do seznamu autorizovaných hostitelů pro budoucí použití.

Kopírování souborů mezi klientem a vzdálenými systémy

Příkaz scp je nástroj postavený na ssh. Umožňuje uživatelům kopírovat soubory a adresáře ze vzdáleného klienta na klienta a naopak.

Protože příkaz scp používá ssh, vyžaduje stejné požadavky jako ssh. To znamená, že veřejný klíč by měl být na vzdáleném systému a soukromý klíč by měl být na místním systému.

scp DIR_PATH_1 DIR_PATH_2

Kde DIR_PATH_1/DIR_PATH_2 jsou obě cesty, které jsou buď vzdálenými nebo místními cestami k souborovému systému. Například k přenosu ~/Documents/documentForLinux.txt do ‘příručky linux 's /home/seeni/Documents adresář

scp ~/Documents/documentForLinux.txt [email protected]:~/Documents

Chcete-li zkopírovat stejný soubor v opačném směru,

scp  [email protected]:~/Documents/documentForLinux.txt ~/Documents

Připojení vzdáleného souborového systému nebo adresáře

Chcete-li připojit vzdálené systémové adresáře ke klientovi, sshfs je nástroj
vyvinuté pro tento konkrétní účel.

sshfs [email protected]:/path/to/remote/folder /path/to/local/mount/point

Výše uvedený příkaz je zcela intuitivní. Zde je ‚name‘ uživatelské jméno akceptované ve vzdáleném systému a server je vzdálené ‚hostname‘.

V některých systémech sshfs nemusí být k dispozici, nainstalujte jej, pokud jej potřebujete.

Tip:Příkaz nohup vám umožňuje spouštět příkazy i po odpojení připojení SSH.

Závěr

Gratuluji, dotáhli jste to až do konce. Doufám, že tento článek pokryl všechny základní příkazy a nástroje související s ssh. Tyto nástroje jsou dostatečné k tomu, abyste mohli začít se vzdáleným počítáním pomocí ssh.

V souvisejícím článku se můžete dozvědět o tmate. Je to nástroj, který vám umožňuje sdílet vaši terminálovou relaci přes SSH.

Doufám, že vám tento článek bude užitečný. Pokud máte nějaké návrhy, neváhejte je hodit do sekce komentářů níže.


Linux
  1. Začínáme s linuxovými firewally

  2. Začínáme s příkazem tac systému Linux

  3. Začínáme s PiFlash:Spuštění Raspberry Pi v systému Linux

  1. Začínáme s linuxovým příkazem cat

  2. Začínáme s PostgreSQL na Linuxu

  3. Jak na to:Začínáme s Ansible

  1. Začínáme s btrfs pro Linux

  2. Rady pro začátek s GNOME

  3. Začínáme s pracovním prostředím GNOME Linux