Nakonfigurujte SSH v Ubuntu

Technologie SSH (Secure Shell) umožňuje bezpečné dálkové ovládání počítače prostřednictvím zabezpečeného připojení. SSH šifruje všechny přenesené soubory, včetně hesel, a také přenáší jakýkoliv síťový protokol. Aby nástroj fungoval správně, je nutné jej nejen nainstalovat, ale také nakonfigurovat. Rádi bychom hovořili o produktu hlavní konfigurace v tomto článku, přičemž jako příklad uvádíme nejnovější verzi operačního systému Ubuntu, na kterém bude server umístěn.

Nakonfigurujte SSH v Ubuntu

Pokud jste nedokončili instalaci na serveru a klientských počítačích, měli byste to udělat zpočátku, protože celý postup je poměrně jednoduchý a netrvá dlouho. Podrobné pokyny k tomuto tématu naleznete v našem dalším článku na následujícím odkazu. Ukazuje také postup pro editaci konfiguračního souboru a testování SSH, takže dnes se budeme zabývat dalšími úkoly.

Další podrobnosti: Instalace SSH-serveru v Ubuntu

Vytvoření páru klíčů RSA

Nově nainstalovaný SSH nemá určené klíče pro připojení ze serveru ke klientovi a naopak. Všechny tyto parametry musí být nastaveny ručně ihned po přidání všech komponent protokolu. Klíčový pár pracuje s použitím RSA algoritmu (zkratka pro jména vývojářů Rivest, Shamir, a Adleman). Díky tomuto kryptosystému jsou speciální klíče šifrovány pomocí speciálních algoritmů. Chcete-li vytvořit pár veřejných klíčů, stačí v konzole zadat příslušné příkazy a postupujte podle zobrazených pokynů.

  1. Přepněte na práci s terminálem pomocí jakékoliv vhodné metody, například otevřením nabídky nebo kombinací kláves Ctrl + Alt + T.
  2. Spusťte terminál v Ubuntu pro další konfiguraci SSH

  3. Zadejte příkaz ssh-keygen a stiskněte klávesu Enter .
  4. Pomocí konzoly v operačním systému Ubuntu vytvořte klíč SSH

  5. Budete vyzváni k vytvoření souboru, kde budou klíče uloženy. Pokud je chcete ponechat ve výchozím umístění, stiskněte klávesu Enter .
  6. Vyberte soubor pro uložení klíčů protokolu SSH v Ubuntu

  7. Veřejný klíč může být chráněn kódovou frází. Chcete-li tuto možnost použít, zadejte v řádku, který se objevil, heslo. Zadané znaky se nezobrazí. Nový řádek bude muset opakovat.
  8. Zadání klíčové fráze při vytváření klíče SSH v Ubuntu

  9. Dále uvidíte upozornění, že klíč byl uložen, a budete se také moci seznámit s jeho náhodným grafickým obrazem.
  10. Úspěšné vytvoření klíčů pro SSH v operačním systému Ubuntu

Nyní je vytvořen pár klíčů - tajný a veřejný, který bude použit pro další propojení počítačů. Stačí pouze umístit klíč na server, aby bylo ověřování SSH úspěšné.

Kopírování veřejného klíče na server

Existují tři metody kopírování klíčů. Každá z nich bude optimální v různých situacích, kdy například jedna z metod nefunguje nebo není vhodná pro konkrétního uživatele. Navrhujeme zvážit všechny tři možnosti, počínaje nejjednodušší a nejúčinnější.

Možnost 1: příkaz ssh-copy-id

Příkaz ssh-copy-id je integrován do operačního systému, takže pro jeho spuštění není nutné instalovat žádné další komponenty. Klíč zkopírujte podle jednoduché syntaxe. V terminálu musíte zadat ssh-copy-id username@remote_host , kde username @ remote_host je název vzdáleného počítače.

Zkopírujte klíč SSH pomocí speciálního nástroje v Ubuntu

Při prvním připojení obdržíte text oznámení:

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Chcete-li pokračovat v připojení, musíte zadat možnost yes . Poté bude nástroj nezávisle hledat klíč ve formě souboru id_rsa.pub , který byl vytvořen dříve. Úspěšná detekce zobrazí následující výsledek:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Zadejte heslo ze vzdáleného hostitele, aby ho mohl zadat. Nástroj zkopíruje data ze souboru veřejných klíčů ~ / .ssh / id_rsa.pub a poté se zpráva zobrazí na obrazovce:

Number of key(s) added: 1

Nyní se pokuste přihlásit do počítače pomocí: "ssh '[email protected]'"
podívejte se na to.

Vzhled takového textu znamená, že klíč byl úspěšně stažen do vzdáleného počítače a nyní nebudou žádné problémy s připojením.

Možnost 2: Zkopírujte veřejný klíč přes SSH

Pokud nemůžete použít výše uvedený nástroj, ale máte heslo pro přihlášení ke vzdálenému serveru SSH, můžete ručně načíst uživatelský klíč, čímž zajistíte další stabilní ověřování při připojování. Používá se pro tento příkaz kočka , která čte data ze souboru, a pak budou odeslána na server. V konzole budete muset zadat řádek

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" .

Přeneste zkopírovaný klíč pomocí speciálního nástroje Ubuntu

Když se zobrazí zpráva

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

pokračujte v připojování a zadejte heslo pro přihlášení k serveru. Poté bude veřejný klíč automaticky zkopírován na konec konfiguračního souboru authorized_keys .

Možnost 3: Ruční kopírování veřejného klíče

Pokud není přístup ke vzdálenému počítači přes server SSH, všechny výše uvedené kroky jsou prováděny ručně. Nejdříve se dozvíte o klíči na PC serveru příkazem cat ~/.ssh/id_rsa.pub .

Zobrazení klíčových informací pomocí příkazu cat v Ubuntu

Na obrazovce se zobrazí následující řádek: ssh-rsa + ключ в виде набора символов== demo@test . Poté pokračujte v práci na vzdáleném zařízení, kde vytvořte nový adresář prostřednictvím mkdir -p ~/.ssh . Navíc vytvoří soubor authorized_keys . Dále vložte klíč, který jste se naučili dříve prostřednictvím echo + строка публичного ключа >> ~/.ssh/authorized_keys . Poté se můžete pokusit o autentizaci se serverem bez použití hesel.

Ověřování na serveru pomocí generovaného klíče

V předchozí části jste se dozvěděli o třech metodách kopírování klíče vzdáleného počítače na server. Tyto akce vám umožní připojení bez použití hesla. Tento postup se provádí pomocí příkazového řádku zadáním shh ssh username@remote_host , kde username @ remote_host je uživatelské jméno a hostitel požadovaného počítače. Při prvním připojení budete upozorněni na neznámé připojení a můžete pokračovat výběrem možnosti yes .

Připojení ke vzdálenému počítači přes SSH v Ubuntu

K tomuto spojení dojde automaticky, pokud během vytváření dvojice klíčů nebylo zadáno heslo. V opačném případě jej musíte nejprve zadat, abyste mohli pokračovat v práci s SSH.

Zakázat ověřování heslem

Úspěšné nastavení kopírování klíčů je zvažováno v situaci, kdy můžete zadat server bez použití hesla. Schopnost autentizovat tímto způsobem však umožňuje útočníkům používat nástroje k nalezení hesla a proniknutí do zabezpečeného připojení. Ochrana před takovými případy umožní úplné vypnutí přihlašovacího hesla v konfiguračním souboru SSH. To bude vyžadovat:

  1. V terminálu otevřete konfigurační soubor pomocí editoru příkazem sudo gedit /etc/ssh/sshd_config .
  2. Spusťte konfigurační soubor SSH pomocí editoru v Ubuntu

  3. Vyhledejte řádek „PasswordAuthentication“ a odstraňte znak # na začátku, abyste parametr zrušili.
  4. Odznačte řetězec s ověřením heslem v Ubuntu

  5. Změňte hodnotu na hodnotu no a uložte aktuální konfiguraci.
  6. Zakázat autentizaci pomocí SSH hesla přes Ubuntu

  7. Zavřete editor a restartujte server sudo systemctl restart ssh .
  8. Restartujte server SSH v operačním systému Ubuntu

Ověřování heslem bude zakázáno a budete se moci k serveru přihlásit pouze pomocí klíčů speciálně vytvořených pro tento účel pomocí algoritmu RSA.

Nastavení standardní brány firewall

V Ubuntu je výchozí firewall Uncomplicated Firewall (UFW). Umožňuje povolit připojení pro vybrané služby. Každá aplikace vytvoří v tomto nástroji svůj vlastní profil a UFW je spravuje povolením nebo odmítnutím připojení. Konfigurace profilu SSH přidáním do seznamu je následující:

  1. Otevřete seznam profilů brány firewall pomocí příkazu sudo ufw app list .
  2. Zobrazení seznamu standardních profilů brány firewall v Ubuntu

  3. Chcete-li zobrazit informace, zadejte heslo účtu.
  4. Zadání hesla pro zobrazení seznamu standardních profilů brány firewall Ubuntu

  5. Zobrazí se seznam dostupných aplikací, mezi nimi by měl být i OpenSSH.
  6. Seznam standardních profilů brány firewall v Ubuntu

  7. Nyní byste měli povolit připojení přes SSH. Chcete-li to provést, přidejte ji do seznamu povolených profilů pomocí sudo ufw allow OpenSSH .
  8. Chcete-li povolit připojení k bráně firewall Ubuntu, přidejte server SSH

  9. Aktivujte bránu firewall aktualizací pravidel, sudo ufw enable .
  10. Restartujte pravidla pro aktualizaci brány firewall v Ubuntu

  11. Abyste se ujistili, že připojení jsou povolena, měli byste nastavit sudo ufw status , po kterém uvidíte stav sítě.
  12. Zobrazení seznamu povolených připojení brány firewall v Ubuntu

Tím se dokončí naše pokyny pro konfiguraci SSH pro Ubuntu. Další konfiguraci konfiguračního souboru a dalších parametrů provádí každý uživatel podle svých požadavků. Můžete se seznámit s provozem všech součástí SSH v oficiální dokumentaci protokolu.