GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit ověřování SSH bez hesla v systému Linux

Hesla se stávají zranitelnými s neustále se vyvíjejícím prostředím kybernetické bezpečnosti. Ne více než kdy jindy jsou systémy náchylné k útokům hrubou silou. Uživatelé také usnadňují hackerům proniknout do jejich systémů zabezpečením systémů slabými a často uhodnutelnými hesly. Dvoufaktorové ověřování je nyní samozřejmostí a poskytuje další vrstvu ochrany pomocí kódů OTP, aby bylo zajištěno, že se do systému skutečně přihlašuje uživatel.

Dalším způsobem, jak můžete zabezpečit svůj server, je nastavení ověřování SSH bez hesla na vašem serveru. To používá autentizaci SSH veřejným klíčem, kde je v místním systému generován pár klíčů SSH. Pár klíčů se skládá ze soukromého a veřejného klíče SSH. Soukromý klíč zůstává v místním systému, zatímco je veřejný klíč nahrán do vzdáleného systému. Během ověřování dochází k výměně klíčů mezi veřejným klíčem uloženým ve vzdáleném systému a soukromým klíčem v místním systému. Následná připojení jsou tak zabezpečena a nebude vyžadováno žádné heslo.

V této příručce vás provedeme tím, jak nakonfigurovat ověřování SSH heslem ve 3 jednoduchých krocích.

Laboratoř nastavení SSH bez hesla

Pro demonstrační účely použijeme následující laboratorní nastavení:

Local Linux system - 192.168.2.104
Remote Linux system - 192.168.2.108

Bylo by také rozumné zajistit, abyste měli přístup ke vzdálenému systému z vašeho místního systému pomocí ověřování pomocí hesla SSH.

Začněme!

Krok 1. Vygenerujte pár klíčů SSH

Hned na začátku vygenerujeme pár klíčů SSH, který bude uložen v domovském adresáři. Vyvolejte tedy ssh-keygen příkaz, jak je znázorněno. Zde vytváříme 4096bitový pár klíčů.

$ ssh-keygen -b 4096

Přijměte výchozí nastavení pouhým stisknutím tlačítka ENTER. Pár klíčů SSH najdete v ~/.ssh adresář, což je skrytý adresář ve vaší domovské složce.

Pro jistotu použijte ke kontrole přítomnosti klíčů SSH příkaz ls.

$ ls .ssh

Soukromý klíč je označen id_rsa zatímco id_rsa.pub je veřejný klíč. Jedná se o kryptografické klíče, které jsou zašifrovány. Později zkopírujeme veřejný klíč do vzdáleného systému.

Krok 2. Zkopírujte pár klíčů SSH do vzdáleného systému

Dále musíte zkopírovat a uložit veřejný klíč do vzdáleného systému Linux. proč to děláme? Při autentizaci veřejným klíčem probíhá autentizační handshake mezi veřejným klíčem na vzdáleném systému a soukromým klíčem umístěným v lokálním systému. To zajišťuje, že veškerý následný provoz mezi místním hostitelským systémem a vzdáleným systémem je šifrován.

Chcete-li zkopírovat veřejný klíč SSH, spusťte ssh-copy-id příkaz takto.

$ ssh-copy-id [email protected]

V našem případě to bude:

$ ssh-copy-id [email protected]

Chcete-li pokračovat v připojování, napište „Ano“ a stiskněte ENTER. Poté zadejte heslo vzdálenému systému pro přihlášení a zkopírujte veřejný klíč SSH.

Veřejný klíč SSH je přidán do jedinečného souboru s názvem authorized_keys v domovském adresáři uživatelského účtu, ke kterému se přihlašujete. Úplná cesta k tomuto souboru je ~/.ssh/authorized_keys

Po úspěšném zkopírování klíče SSH se nyní můžete přihlásit do vzdáleného systému pomocí ověření veřejného klíče následovně.

$ ssh [email protected]

Z úryvku níže můžete vidět, že jsme se přihlásili do vzdáleného systému, aniž bychom byli vyzváni k zadání hesla. Skvělé!

Jak již bylo zmíněno dříve, veřejný klíč je uložen v ~/.ssh/authorized_keys cesta.

Krok 3. Zakažte ověřování heslem (volitelné)

Chcete-li zvýšit zabezpečení svého vzdáleného systému, můžete zvážit zakázání ověřování heslem. Tímto způsobem zajistíte, že jste jediní, kdo může přistupovat do systému pomocí soukromého klíče umístěného ve vašem místním systému. Klíč by měl být vždy přísně tajný. Nikdy jej s nikým nesdílejte, jinak bude váš systém ohrožen.

Na vzdáleném hostiteli otevřete /etc/sshd_config soubor a zobrazený.

$ sudo vim /etc/sshd_config

Vyhledejte Ověření heslem parametr a nastavte jej na ne jak je uvedeno.

Dále se ujistěte, že je povoleno ověřování veřejným klíčem, jak je uvedeno.

Aby změny přetrvaly, proveďte restart služby SSH následujícím způsobem.

$ sudo systemctl restart ssh

Abychom demonstrovali, že je autentizace heslem zakázána, pokusíme se získat přístup k serveru pomocí klienta Putty SSH. Zadejte adresu vzdáleného systému a stiskněte „Otevřít“

Zadejte vzdálené uživatelské jméno a stiskněte ENTER. Tentokrát získáte ověření, protože jsme zakázali ověřování pomocí hesla.

Závěr

Autentizace pomocí veřejného klíče je bezpečný způsob připojení a posílení vašeho serveru. Eliminuje vektory útoků, jako jsou útoky pomocí hesla hrubou silou, které jsou hrozivé, když váš systém používá ověřování heslem.


Ubuntu
  1. Jak nastavit nebo změnit název hostitele systému v systému Linux

  2. Jak nakonfigurovat ověřování na základě klíče SSH v systému Linux

  3. Jak nastavit klíče SSH

  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 funguje SSH bez hesla v systému Linux / UNIX

  1. Jak vygenerovat a nastavit klíče SSH na Debianu 10

  2. Jak nastavit klíče SSH na Ubuntu 18.04

  3. Jak nastavit klíče SSH na Ubuntu 20.04