Jak nastavit SSH klíče na Debianu 10 Buster

Spread the love

Secure Shell (nebo SSH) je kryptografický protokol umožňující bezpečnou komunikaci mezi klienty a servery.

SSH je široce používán pro bezpečné připojení ke vzdáleným systémům Linux. Používá se také v ekosystému Windows pro připojení ke vzdáleným strojům Windows pomocí OpenSSH.

SSH má dva způsoby ověřování uživatelů na stroji: buď pomocí hesla nebo prostřednictvím systému ověřování pomocí veřejného klíče . Pomocí autentizace pomocí párů klíčů nebudete muset přihlašovat heslo, vše bude automatické.

V tomto tutoriálu si popíšeme, jak nastavit klíče SSH na instanci Debian 10 Buster.

Obsah

1 – Vytvořte na Debianu pár klíčů SSH

Před spuštěním se ujistěte, že nemáte v adresáři ssh žádné již existující klíče SSH.

Spusťte jednoduchý příkaz ls do adresáře .ssh.

Adresář SSH v systému Linux

Abyste mohli v Debianu vygenerovat klíč SSH, budete potřebovat nástroj ssh-keygen.

Ve výchozím nastavení je ssh-keygen již na Debianu 10 nainstalován.

Chcete-li vytvořit pár klíčů SSH, použijte následující příkaz.

Tento ssh-keygen se postará o vytvoření vašeho klíče.

Parametr -t určuje typ použitého šifrování (v tomto případě RSA ).

-B určuje počet bajtů použitých k vytvoření vašeho klíče. Obecně chcete pro klíč použít alespoň 2048 bajtů, ale v našem případě použijeme 4096 bajtů.

A konečně příznak -C poskytuje komentář pro dvojici klíčů, v tomto případě použitý e-mail.

Při vytváření klíčů SSH budete dotázáni na řadu otázek.

Tuto možnost můžete ponechat jako výchozí, s výjimkou případů, kdy ji chcete uložit do souboru vlastních klíčů.

Vyberte si silné heslo pro svůj klíč. V případě, že někdo ukradne váš klíč, bude jako druhá možnost zabezpečení vyžadováno heslo.

Pokud se chcete automaticky připojit k serveru, aniž byste byli vyzváni k zadání hesla, ponechte přístupové heslo prázdné.

V dalších kapitolách bude ověřování hesla deaktivováno, ale pokud se rozhodnete jednu definovat, budete stále vyzváni přístupovým frází. Přístupová fráze se doporučují pro produkční a citlivá prostředí.

Zadejte heslo znovu a měl by být vytvořen klíč SSH.

Nastavte SSH klíč na Debianu pomocí ssh-keygen

V tomto příkladu byl můj soubor vytvořen v adresáři /home/devconnected/.ssh.

Soukromý a veřejný klíč nastavený na Debianu

Na základě vašeho příkazu byly vytvořeny dva soubory.

  • id_rsa: Toto je klíč PRIVATE, který se bude používat na straně serveru k identifikaci příchozích požadavků klienta. To by samozřejmě nemělo být sdíleno s nikým. Klient je také používán k ověření identity serveru.
  • id_rsa.pub: přípona „pub“ znamená „public“. Toto je klíč PUBLIC, který budou klienti používat pro připojení k serveru. Toto je soubor, který máte povoleno sdílet s klienty.

2 – Zkopírujte veřejný klíč SSH do hostitelského počítače

Chcete-li zkopírovat nově vytvořený klíč SSH, neměli byste používat nezabezpečený protokol (například TCP), protože by vystavil klíče SSH hackerům.

Pokud jsou vaše klíče SSH ohroženy, použití bezpečného protokolu, jako je SSH, nemá v podstatě žádné výhody.

Důsledkem je, jak byste měli zkopírovat klíče SSH na vzdálené počítače.

a – Zkopírujte klíče SSH pomocí ssh-copy-id

Chcete-li spustit ssh-copy-id, proveďte následující příkaz.

Můžete být vyzváni k následující otázce.

Nakonec budete požádáni o zadání hesla vzdáleného uživatele.

Zadejte heslo. Jako výsledek byste měli vidět následující výstup.

Na mém klientském počítači v adresáři .ssh uvidíme vytvořené soubory.

Veřejný klíč nastaven na klientovi Debianu

Úžasné, můj klient nyní má soubor autorizovaný_keys, který uvádí hostitele, ke kterému se může připojit.

Pokud se nyní na klientském počítači pokouším připojit k serveru pomocí SSH, měl bych to udělat.

b – Zkopírujte klíče SSH pomocí ssh bez ssh-copy-id

Pokud ve vaší instanci nemáte ssh-copy-id, můžete také bezpečně přenést soubor na server pomocí příkazu SSH.

Příkaz je delší, ale je stejně bezpečný jako normální příkaz ssh-copy-id.

Zde je příkaz ke zkopírování vašich klíčů SSH do hostitelského počítače.

Spuštěním tohoto příkazu budete vyzváni k zadání hesla na serveru.

Odemknutí soukromého klíče SSH na Debianu 10

Zadejte správné heslo a klikněte na „Odemknout“.

Tímto příkazem převezmete obsah veřejného klíče a odešlete jej přes SSH vzdálenému hostiteli.

Příkaz nejprve tvrdí, že máte ve vzdáleném hostiteli složku .ssh. Obsah je připojen ke skutečnému obsahu souboru autorizovaných_keys (pokud již existuje).

Pojďme se podívat na náš soubor na vzdáleném hostiteli.

Nastavte veřejný klíč SSH na Debianu 10

Skvělý! Obsah byl správně připojen k našemu existujícímu souboru autorizovaných_keys.

c – Zkopírujte klíč SSH ručně do klienta

Další alternativou je zkopírovat obsah veřejného klíče přímo do klientského souborového systému.

Nejprve zobrazte obsah veřejného klíče pomocí příkazu cat.

Zobrazení veřejného klíče SSH na Debianu

Přejděte na vzdálený server a vyhledejte složku .ssh na klientovi. Obsah veřejného klíče budete muset připojit k souboru autorizovaných klíčů na serveru.

Jak vidíte, oprávnění souboru k tomuto souboru jsou omezena, což znamená, že k úpravě tohoto souboru budete potřebovat sudo práva.

Připojte svůj klíč jednoduše zkopírováním a vložením obsahu na konec vašeho existujícího souboru autorizovaných_keys.

Přidání veřejného klíče k autorizovaným klíčům SSH

Uložte soubor a ukončete textový editor.

Nyní, když je vše připraveno a jsou nastaveny klíče SSH, je na čase, abyste se připojili k hostiteli pomocí kláves.

3 – Připojte se ke vzdálenému hostiteli pomocí SSH

Nyní, když je vše připraveno, musíte se připojit k serveru pomocí autentizace SSH na základě klíče.

Chcete-li to provést, proveďte normální připojení SSH, jako jste to dělali v minulosti.

Při prvním připojení byste měli být vyzváni k ověření identity serveru. Toto je odstavec, který jste již viděli, když jste se snažili zkopírovat SSH klíče do hostitelského počítače.

Pokud jste v předchozích sekcích definovali přístupové heslo, budete vyzváni k jeho zadání.

Po úspěchu budete připojeni ke vzdálenému hostiteli.

Gratulujeme! Úspěšně jste pro své servery nastavili autentizaci pomocí klíče SSH.

Skořepina SSH

4 – Zakažte ověřování hesla SSH

Pokud se připojujete jako známý klient (klient, který vlastní veřejný klíč pro tento konkrétní server), nebudete vyzváni k zadání hesla.

Pokud jste ji nakonfigurovali, můžete být požádáni o přístupové fráze, ale většinu času je stejně bezproblémové jako připojení přímo k serveru bez jakékoli výzvy.

Pokud si však přečtete můj článek o geolokaci SSH , možná si pamatujete, že hackeři se mohou pokusit přenést své cesty na váš server.

SSH Bruteforce přihlašovací zkoušky

Pamatujete si všechny různé kombinace, které hackeři vyzkoušeli získat přístup k mým serverům?

Abychom předešli takovým útokům SSH , musíme pro náš server zakázat ověřování heslem. Tímto způsobem se na server budou moci přihlásit pouze uživatelé s klíčem.

Chcete-li zakázat ověřování heslem SSH, přejděte do složky / etc / ssh a upravte soubor sshd_config.

V tomto konfiguračním souboru vyhledejte sekci „PasswordAuthentication“ a změňte její hodnotu na „No“.

Zakázání ověřování heslem pro přístup SSH v Debianu

Restartujte službu SSH a ujistěte se, že vše funguje správně.

Služba SSH běží na Debianu

Úžasné!

Úspěšně jste nastavili klíče SSH pro váš Linuxový server.

5 – Povolit / Zakázat určitým uživatelům a skupinám přístup SSH

Jako další pravidlo zabezpečení můžete povolit přístup na váš server pouze určitým uživatelům.

Podobně můžete určitým uživatelům zakázat přístup na váš server, pokud chcete například zakázat určitému uživateli nebo skupině.

Chcete-li určitým uživatelům umožnit přístup SSH, přejděte do konfiguračního souboru SSH a do souboru přidejte položku AllowUsers.

Podobně, pokud chcete na serveru přidat bílou listinu, přidejte do konfiguračního souboru SSH položku AllowGroups.

Umožňují určitým uživatelům přístup k SSH na Debianu

Chcete-li určitým uživatelům zakázat používání SSH na serveru, přidejte do konfiguračního souboru následující položky.

Podobně, pokud chcete určitým skupinám odepřít přístup SSH k serveru, přidejte do konfiguračního souboru SSH položku DenyGroups.

Odepření některým uživatelům přístupu k SSH na Debianu 10

Restartujte službu SSH, aby se provedené změny uplatnily.

6 – Závěr

Dnes jste se úspěšně naučili, jak nastavit klíče SSH na Debian 10 Buster, ale stejné kroky lze použít i na počítačích Ubuntu a CentOS.

Věděl jsi?

SSH lze také použít k nastavení autentizace pomocí klíče SSH na Git .

Zabezpečení serveru pomocí SSH klíčů je velmi důležitým krokem, pokud chcete zabránit tomu, aby na váš server byly spuštěny jednoduché, ale velmi účinné útoky.

Pokud máte na hostitelských serverech stroj Debian, je velmi pravděpodobné, že se k němu někteří roboti pokoušejí dostat. Nastavení SSH Keys je jedním z kroků k neúčinnosti těchto útoků.

Příspěvek byl publikován v rubrice Linux, NET, TESTY se štítky . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

Napsat komentář