Jak použít ssh-keygen ke generování klíče SSH

How Use Ssh Keygen Generate An Ssh Key



SSH nebo Secure Shell je užitečný šifrovaný protokol k zabezpečení připojení mezi klientem a serverem pro různé úlohy správy. Podporuje různé typy ověřovacích systémů. Většinou se používá ověřování na základě veřejného klíče a ověřování na základě hesla. Ověřování na základě klíče je bezpečnější než ověřování na základě hesla. Páry autentizačních klíčů pro SSH jsou generovány nástrojem ssh-keygen, který lze použít k různým účelům, jako je autentizace hostitele, automatizace přihlášení atd. Jak lze tento nástroj použít v Ubuntu, bylo ukázáno v tomto tutoriálu.

Syntax:

Syntaxe tohoto příkazu je uvedena níže. Podporuje mnoho možností pro generování párů ověřovacích klíčů, které byly popsány později.







ssh-keygen [-q] [-b bitů] [-Jakto] [-f soubor_klíče výstupu] [-m formát]

[-t dsa|ecdsa|ecdsa-sk|ed25519|ed25519-sk|rsa]

[-N new_passphrase] [-O možnost] [-w poskytovatel]

Různé možnosti ssh-keygen:

Účel použití různých typů možností ssh-keygen je vysvětlen níže.



Volba Účel
-NA Generuje klíče hostitele s výchozí cestou k souboru klíčů, prázdným přístupovým heslem, výchozími bity pro typ klíče a komentářem.
-b bitů Slouží k definování počtu bitů v klíči, který bude vytvořen.
-Jakto Slouží k definování nového komentáře.
-C Slouží k žádosti o změnu komentáře souborů veřejného a soukromého klíče.
-E otisk prstu_hash Slouží k definování algoritmu hash, který bude použit k zobrazení otisků prstů.
-A Slouží ke čtení souboru soukromého nebo veřejného klíče a tisku na standardní výstup.
-F jméno hostitele | [název hostitele]: port Používá se k vyhledávání konkrétního názvu hostitele pomocí volitelného čísla portu v souboru known_hosts.
-f název souboru Slouží k definování názvu souboru klíče.
-H Používá se k hašování souboru known_hosts. Nahradí všechny názvy hostitelů a adresy hašovanými reprezentacemi v zadaném souboru. Původní obsah bude přesunut do souboru s příponou .old.
-i Slouží ke čtení nešifrovaného soukromého (nebo veřejného) souboru klíčů.
-TĚ Slouží k tisku obsahu jednoho nebo více certifikátů.
-ten Slouží k zobrazení otisku prstu zadaného souboru veřejného klíče.
-N new_passphrase Slouží k poskytnutí nové přístupové fráze.
-P heslo Používá se k poskytnutí starého přístupového hesla.
-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa Slouží k definování typu klíče, který bude vytvořen.

Vytvořte klíče pomocí ssh-keygen:

Páry klíčů SSH můžete vytvořit spuštěním ssh-keygen s možnostmi nebo bez jakékoli možnosti. V této části tohoto kurzu se ukázaly různé způsoby, jak vytvořit páry klíčů SSH. K vytvoření klíčů se musíte přihlásit k serveru, na kterém je nainstalován OpenSSH



Generujte páry klíčů bez jakékoli možnosti:

Následující příkaz vytvoří páry klíčů bez použití jakékoli možnosti.





$ssh-keygen

Po provedení výše uvedeného příkazu můžete zadat název souboru, kam bude klíč uložen, nebo stisknutím klávesy Enter uložit výchozí název souboru. Zde byla stisknuta klávesa Enter. Dále můžete stisknutím klávesy Enter znovu nastavit prázdné heslo nebo nastavit heslo.



Generujte páry klíčů pomocí jediné možnosti:

Následující příkaz vygeneruje páry klíčů typu rsa uvedeného v příkazu s volbou -t.

$ssh-keygen -trsa

Stejně jako předchozí příkaz můžete zadat název souboru nebo použít výchozí název souboru pro uložení párů klíčů a nastavit heslo nebo prázdné heslo pro připojení SSH.

Generujte páry klíčů s více možnostmi:

Spuštěním následujícího příkazu vygenerujete páry klíčů typu rsa s 2000 bity a hodnotou komentáře,[chráněno emailem].

$ssh-keygen -trsa-b 2000 -C ' [email protected] '

Stejně jako předchozí příkaz můžete zadat název souboru nebo použít výchozí název souboru pro uložení párů klíčů a nastavit heslo nebo prázdné heslo pro připojení SSH. Pokud jste před spuštěním výše uvedeného příkazu vygenerovali soubory klíčů, požádá vás o přepsání souboru klíčů nebo ne. Pokud zadáte „y“, přepíše dříve vygenerovaný soubor novými klíči.

Zkopírujte veřejný klíč na server:

Spuštěním následujícího příkazu ze serveru přidejte veřejný klíč do počítače serveru. Příkaz zkopíruje klíč na server a nakonfiguruje jej tak, aby přidal klíč do souboru authorized_keys pro přístup na server.

$ssh-copy-id-i~/.ssh/id_rsa fahmida@fahmida-VirtualBox

Následující výstup se objeví, pokud se veřejný klíč nepřidal dříve do serverového počítače.

Upravte konfigurační soubor serveru:

Pokud chcete nastavit ověřování na základě hesla a povolit přihlášení uživatele root na server, musíte v konfiguračním souboru serveru povolit některé možnosti. Cesta konfiguračního souboru SSH serveru je/etc/ssh/sshd_config. Otevřete soubor v libovolném textovém editoru. Spusťte následující příkaz a upravte soubor v nano editoru.

$sudo nano /atd/ssh/sshd_config

Přidejte nebo upravte soubor pomocí následujících řádků, abyste povolili ověřování na základě hesla a nastavili oprávnění pro přihlášení uživatele root.

Ověření heslaAno

Povolit Kořen PřihlášeníAno

Uložte a zavřete soubor. Spusťte následující příkaz a restartujte službu SSH.

$sudorestart systémussh

Přihlášení z klienta SSH:

Přihlaste se na klientský počítač, odkud se chcete připojit k serveru, a zkontrolujte, zda připojení SSH funguje. Otevřete terminál a spusťte následující příkaz pro přidání identity serverového počítače.

$ssh-add

Spuštěním následujícího příkazu ssh se spojíte se serverovým počítačem z klientského počítače. V předchozí části tohoto tutoriálu bylo v konfiguračním souboru SSH serveru povoleno ověřování heslem a root. Aby tedy uživatel úspěšně navázal připojení SSH, musí zadat platné heslo uživatele root serveru.

$ssh <nahref='mailto: [email protected]'>fahmida@10.0.2.15

Následující podobný výstup se objeví po navázání připojení SSH k serveru z klienta.

Závěr:

V tomto kurzu byl vysvětlen ssh-keygen, který používá ke generování dvojice klíčů SSH různými způsoby. Doufám, že uživatel Ubuntu po přečtení tohoto tutoriálu vygeneruje klíče SSH pomocí ssh-keygen pro navázání připojení SSH.