GNU/Linux >> Znalost Linux >  >> Rocky Linux

Jak nastavit přihlášení SSH bez hesla v Rocky Linux

SSH klíče jsou kryptografické klíče, které se používají k ověřování a zabezpečení provozu nebo komunikace mezi dvěma servery nebo systémy. Poskytují bezpečnější metodu ověřování na rozdíl od tradičního ověřování heslem, které je náchylné k útokům hrubou silou.

V tomto tutoriálu vás provedeme nastavením klíčů SSH na Rocky Linux .

Vytvoření páru klíčů RSA SSH v Rocky Linuxu

Chcete-li začít s vytvářením RSA pár klíčů v našem místním systému spusťte následující příkaz:

$ ssh-keygen
OR
$ ssh-keygen -t rsa 

Ve výchozím nastavení se tak vytvoří 2048bitové RSA pár klíčů, který je považován za dostatečně bezpečný k šifrování provozu mezi klientem a vzdáleným hostitelem.

Volitelně můžete vytvořit 4096bitový klíčový pár, který je větší a bezpečnější předáním -b možnost takto:

$ ssh-keygen -b 4096

Po spuštění ssh-keygen příkazu, bude následovat řada výzev. Nejprve budete požádáni o poskytnutí souboru, do kterého budou klíče uloženy. Ve výchozím nastavení jsou klíče uloženy v ~/.ssh adresář ve vašem domovském adresáři. Můžete definovat svůj vlastní soubor, ale na tomto obrázku použijeme výchozí hodnoty

Takže stiskněte ENTER pro uložení klíčů do ~/.ssh adresář ve vašem domovském adresáři.

Pokud již klíče SSH existují, zobrazí se následující výzva a budete vyzváni k přepsání. Zde dbejte opatrnosti. Přepsání klíčů znamená, že ověření nebude možné pomocí předchozích klíčů. Výběrem možnosti Ano zničí aktuální klíče a vygeneruje nové.

Dále budete vyzváni k zadání přístupové fráze. Toto je volitelný krok a poskytuje další vrstvu ochrany, která brání neoprávněným uživatelům používat klíče k ověřování. Pokud však chcete nakonfigurovat ověřování SSH bez hesla mezi vaším lokálním systémem a ostatními vzdálenými hostiteli, můžete toto pole ponechat prázdné.

Toto zatím necháme prázdné a stiskneme ENTER .

Nakonec pár klíčů SSH (veřejný a soukromé klíče) budou uloženy ve vašem lokálním systému na zadané cestě. Toto je výstup generovaný po úspěšném provedení příkazu.

S výchozími možnostmi SSH klíče jsou uloženy v ~/.ssh adresář ve vašem domovském adresáři. Chcete-li to potvrdit, spusťte příkaz:

$ ls -la ~/.ssh
  • id_rsa je soukromý klíč a měl by být uchováván v tajnosti a důvěrnosti. Prozrazení může vést k vážnému narušení vašeho vzdáleného serveru.
  • id_rsa.pub je veřejný klíč a je uložen na vzdáleném hostiteli, ke kterému se chcete připojit.

Pomocí SSH klíče úspěšně vytvořeny, dalším krokem bude uložení Veřejného klíč ke vzdálenému systému připravený k ověření.

Zkopírujte veřejný klíč SSH na vzdálený server Linux

ssh-copy-id poskytuje snadný a pohodlný způsob kopírování veřejného klíče SSH na vzdálený hostitel. Vyžaduje následující syntaxi:

$ ssh-copy-id user@remote-host-ip-address

Máme vzdálený systém s běžným uživatelem jménem bob již nakonfigurovaný. Chcete-li zkopírovat veřejný klíč SSH, spusťte příkaz:

$ ssh-copy-id [email protected]

Pokud se k hostiteli připojujete poprvé, uvidíte následující výstup. Chcete-li pokračovat, zadejte ‘yes’ a pokračujte stisknutím klávesy ENTER.

Příkaz zjišťuje ve vašem místním systému veřejný klíč id_rsa.pub a jakmile zjistí svou přítomnost, vyzve vás k zadání hesla vzdáleného uživatele.

Zadejte heslo a stiskněte ENTER . Veřejný klíč je zkopírován na vzdáleném hostiteli do ~/.ssh/authorized_keys soubor. K tomu se dostaneme později.

Ve vašem místním systému ~/.ssh/known_hosts soubor je vytvořen. Toto je soubor, který obsahuje otisky SSH pro vzdálené hostitele, ke kterým jste se připojili.

Chcete-li soubor zobrazit, jednoduše spusťte příkaz:

$ cat ~/.ssh/known_hosts

Připojení ke vzdálenému Linuxu bez hesla

V tomto okamžiku byste měli být schopni přihlásit se ke vzdálenému hostiteli bez hesla. Chcete-li to zkusit, zkuste se normálně přihlásit jako vy.

$ ssh [email protected]

Tentokrát budete okamžitě přesunuti do shellu vzdáleného hostitele.

Jak jsme již zmínili dříve, veřejný klíč je uložen v authorized_keys soubor na vzdáleném hostiteli. Můžete to potvrdit, jak je uvedeno.

$ ls -la ~/.ssh/

Chcete-li soubor zobrazit, použijte příkaz cat následovně.

$ cat ~/.ssh/authorized_keys 

Zakázat ověřování hesla SSH

SSH autentizace pomocí veřejného klíče byla úspěšně nastavena. Ověřování heslem je však stále aktivní a váš vzdálený hostitel je díky tomu náchylný k útokům hrubou silou.

Proto se důrazně doporučuje deaktivovat ověřování heslem. Nyní se přihlaste zpět ke vzdálenému hostiteli pomocí uživatele root nebo sudo. Poté otevřete sshd_config konfigurační soubor.

$ sudo vim /etc/ssh/sshd_config

Přejděte dolů a vyhledejte Ověření heslem směrnice. Pokud byl zakomentován, odkomentujte jej a nastavte jej na 'no' .

PasswordAuthentication no

Uložte změny a ukončete soubor.

Chcete-li použít provedené změny, restartujte sshd démon, jak je znázorněno.

$ sudo systemctl restart sshd

V tuto chvíli bylo na vzdáleném serveru zakázáno ověřování heslem SSH a jediný možný způsob přístupu ke vzdálenému serveru je ověřování pomocí veřejného klíče.

Úspěšně jsme nakonfigurovali SSH klíčová autentizace na vzdáleném hostiteli, která vám umožní přihlásit se bez hesla. Toto je nejbezpečnější způsob přihlašování ke vzdáleným hostitelům za předpokladu, že soukromý klíč zůstane důvěrný a tajný.


Rocky Linux
  1. Jak nastavit soukromý registr dockerů na Rocky Linux 8

  2. Jak nastavit klíče SSH na CentOS 8

  3. Jak nastavit přihlášení SSH bez hesla v Linuxu

  1. Jak nastavit SSH přihlášení bez hesla

  2. Jak nastavit SSH bez hesla v systému Linux

  3. Jak nastavit klíče SSH pro přihlášení k SSH „bez hesla“ na CentOS/RHEL

  1. Jak nastavit přihlášení k SSH bez hesla

  2. Jak nastavit klíče SSH pro přihlášení k ssh „bez hesla“ v systému Linux

  3. Jak nastavit klíče SSH pro přihlášení pomocí „veřejného/soukromého klíče“ SSH v systému Linux