GNU/Linux >> Znalost Linux >  >> Debian

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

Úvod

SSH je zkratka pro Secure Shell a funguje jako metoda pro navázání vzdáleného připojení mezi počítači. SSH se obvykle používá k přihlášení a správě vzdáleného serveru.

Tato příručka vám pomůže vygenerovat pár klíčů SSH v systému Debian 10 Linux.

Předpoklady

  • Systém se systémem Debian 10 Linux
  • SSH nakonfigurované na klientovi i na vzdáleném systému. (Přečtěte si, jak povolit SSH v Debianu.)
  • Přístup do okna terminálu / příkazového řádku (Aktivity> Vyhledávání> Terminál )
  • Uživatelský účet s sudo nebo root oprávnění pro místní systém
  • Uživatelský účet a název hostitele pro vzdálený server

Krok 1:Zkontrolujte existující klíče

Pokud se systém již připojil ke vzdálenému serveru prostřednictvím SSH, může již mít klíče SSH. Zkontrolujte, zda neexistují již existující klíče zadáním následujícího příkazu do okna terminálu:

ls -l ~/.ssh/id*

Pokud systém odpoví, že žádný takový soubor nebo adresář neexistuje, systém nemá žádné klíče SSH.

Pokud systém uvádí soubor, má pár klíčů SSH. Chcete-li tento pár klíčů nadále používat, přejděte na Krok 3 . Případně zálohujte tento pár klíčů a poté pokračujte ve vygenerování nového páru klíčů SSH.

Krok 2:Vytvořte pár klíčů SSH

Tento krok vytvoří veřejný a soukromý klíč SSH.

1. V terminálu zadejte následující příkaz:

ssh-keygen

2. Ve výchozím nastavení se tak vytvoří 2048bitové RSA pár klíčů. Pro větší zabezpečení je k dispozici 4096bitové RSA klíčový pár lze přidat pomocí -b 4096 možnost takto:

ssh-keygen -b 4096

Systém zpracuje požadavek a poté vyzve k zadání umístění pro uložení páru klíčů. Ve výchozím nastavení používá ~/.ssh/id_rsa . To je /.ssh adresář v domovském adresáři.

3. Stiskněte Enter přijmout toto umístění, pokud není potřeba použít jiné umístění.

4. Pokud již klíč v tomto systému existuje, zobrazí se nyní výzva k přepsání starého klíče. Stiskněte y pokračovat.

5. Dále vás systém vyzve k zadání a potvrzení přístupové fráze. Jedná se o přidanou vrstvu zabezpečení ssh, která nutí uživatele zadávat přístupovou frázi při připojování přes SSH. Nastavte a potvrďte přístupové heslo, nebo jej ponechte prázdné, chcete-li tento krok přeskočit.

6. Nakonec systém zobrazí identifikaci a umístění veřejného klíče, otisk klíče a obrázek náhodného obrázku klíče.

Krok 3:Zkopírujte veřejný klíč na vzdálený server

Pro správné spárování klíčů SSH zkopírujte veřejný klíč na vzdálený server:

1. Nejjednodušší metodou je zadat následující příkaz:

ssh-copy-id [email protected]

Nahradit uživatele se skutečným uživatelským jménem pro vzdálený systém. Také nahraďte název hostitele se skutečným názvem hostitele vzdáleného počítače. Místo názvu hostitele lze použít adresu IP vzdáleného systému.

2. Systém se nyní pokusí připojit ke vzdálenému systému pomocí uživatelského jména, které jste zadali. Při prvním připojení může systém odpovědět, že nelze zjistit autenticitu hostitele. Zadejte yes a stiskněte Enter .

3. Systém vyhledá v místním systému id_rsa.pub klíč, který byl vygenerován v kroku 2 . Poté se zobrazí výzva k zadání hesla pro uživatelský účet ve vzdáleném systému. Zadejte heslo a stiskněte Enter .

4. Systém by měl zobrazit počet přidaných klíčů:1 . Poté zobrazí pokyny pro přihlášení do vzdáleného systému. Můžete zadat příkaz, jak je zobrazen na obrazovce.

Krok 3.1:Ruční zkopírování veřejného klíče SSH na vzdálený server

Pokud není možné zkopírovat klíč SSH automaticky, lze klíč zkopírovat ručně.

1. Nejprve zobrazte klíč SSH pomocí následujícího příkazu:

cat ~/.ssh/id_rsa.pub

Systém by měl zobrazit veřejný klíč SSH, který byl právě vytvořen. Mělo by to začínat:

ssh-rsa AAAA

2. Poznamenejte si tento řetězec znaků.

3. Dále přejděte na vzdálený server. Otevřete terminál a vytvořte nový adresář ssh zadáním následujícího:

sudo mkdir -p ~/.ssh

5. Dále přidejte veřejný klíč do souboru author_keys zadáním následujícího:

sudo echo ssh_public_key >> ~/.ssh/authorized_keys

Nahraďte ssh_public_key se skutečným veřejným klíčem zobrazeným příkazem cat.

6. Nastavte správná oprávnění pro nový adresář:

sudo chmod -R go= ~/.ssh

7. Pokud na serveru používáte kořenový uživatelský účet Debianu, vlastník adresáře musí být nastaven na uživatelský účet, který se bude vzdáleně přihlašovat k serveru:

sudo chown -R user:user ~/.ssh

Krok 4:Přihlaste se vzdáleně pomocí SSH

1. V klientském systému otevřete okno terminálu a zadejte následující:

ssh [email protected]

2. Systém může zobrazit, že nelze zjistit pravost hostitele. Zadejte yes a stiskněte Enter .

3. Pokud během kroku 2 nastavíte přístupovou frázi , zadejte jej po zobrazení výzvy.

Nyní byste měli mít připojení SSH ke vzdálenému serveru.

Krok 5:Zakažte ověřování hesla (volitelné)

Zakázání ověřování heslem je bezpečnostní opatření. Zabraňuje útokům hrubou silou proti pokusům o přihlášení k serveru.

Než budete pokračovat, dvakrát se ujistěte, že:

  • Na server se můžete přihlásit bez hesla (například pomocí připojení SSH s párem klíčů, jak je popsáno v tomto článku).
  • Přihlašujete se na server pomocí uživatelského účtu sudo.

1. Začněte přihlášením ke vzdálenému serveru:

ssh [email protected]

Toto uživatelské jméno by mělo mít sudo privilegia.

2. Dále upravte sshd_config soubor v textovém editoru dle vašeho výběru (používáme nano):

sudo nano /etc/ssh/sshd_config

3. Najděte a upravte následující řádky, aby vypadaly následovně:

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

4. Zapište změny a ukončete editor. Restartujte službu SSH zadáním následujícího:

sudo systemctl restart ssh

Systém nyní již neumožňuje ověřování heslem pro přihlášení.


Debian
  1. Jak nastavit klíče SSH

  2. Konfigurace klíčů SSH na systému Debian 9 – jak na to?

  3. Jak nastavit klíče SSH na Debianu

  1. Jak vygenerovat klíče SSH na Ubuntu 18.04

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

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

  1. Jak vygenerovat a nastavit klíče SSH na CentOS 7

  2. Jak vygenerovat klíč SSH ve Windows 10

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