Generate SSH Key Pair (Windows, Linux and PuTTy)

By | 21/11/2024

Last Updated on 21/11/2024 by administrator

Generate SSH Key Pair (Windows, Linux and PuTTy)

Generate SSH Key Pair (Windows, Linux and PuTTy)

Motivace:

Tento článek podrobně popisuje tři různé metody generování SSH klíčového páru a na Windows 11, Ubuntu 24.04 LTS a pomocí PuTTY ve Windows.

Implementace:

Níže je popsáno jak vygenerovat SSH klíčový třemi možnými způsoby a to přes:

  1. Windows 11
  2. Ubuntu 24.04 LTS
  3. Externím programem Putty ve Windows

1. Metoda č. 1 – Windows 11 (Version 23H2):

Otevřít příkazový řádek a pomocí příkazu níže vygenerovat privátní a veřejný klíč:

ssh-keygen -t ed25519

Výstup příkazu ssh-keygen -t ed25519 ukazuje, že ve složce C:\Users\uzivatel/.ssh/ se vytvořil klíčový pár. Pro zvýšení bezpečnosti privátního klíče je možné zadat heslo (tzv. passphrase):

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\uzivatel/.ssh/id_ed25519):
Created directory 'C:\\Users\\uzivatel/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\uzivatel/.ssh/id_ed25519
Your public key has been saved in C:\Users\uzivatel/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:D9scLfY/7k1pvaE2lX0jX5Q+zHpFD4HykJafzgCocNk uzivatel@DESKTOP-8V74EQ0
The key's randomart image is:
+--[ED25519 256]--+
|     o .   o .   |
|  . o E . * . .  |
|   o .   o = . ..|
|    .     ..+ ..o|
|        S ++. +++|
|         B +o. OO|
|        . + . =+O|
|             =+=o|
|            .+*o.|
+----[SHA256]-----+

Ve složce C:\Users\uzivatel/.ssh/ se vytvořili dva druhy klíčů a to veřejný (id_ed25519.pub) a privátní (id_ed25519 bez přípony):

Generate SSH Key Pair (Windows, Linux and PuTTy)

2. Metoda č. 2 – Ubuntu 24.04 LTS:

Otevřít terminál a pomocí příkazu níže vygenerovat privátní a veřejný klíč:

ssh-keygen -t ed25519

Výstup příkazu ssh-keygen -t ed25519 ukazuje, že ve složce /home/user1/.ssh/ se vytvořil klíčový pár. Pro zvýšení bezpečnosti privátního klíče je možné zadat heslo (tzv. passphrase):

user1@ubuntu:~$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user1/.ssh/id_ed25519):
Created directory '/home/user1/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user1/.ssh/id_ed25519
Your public key has been saved in /home/user1/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:hC8oud4Cva33QO68oF17wkNga6V+Z9B5TFbVY6ei/ww user1@ubuntu
The key's randomart image is:
+--[ED25519 256]--+
|           ...   |
|       .  .   + .|
|      . ..   . + |
|  o... oo   . .  |
| oo=o..=S  . .   |
|. ==o o.o .      |
| +o=+. .   .E    |
| ++*Bo+     .o   |
|. +=*O.      .o  |
+----[SHA256]-----+

Ve složce /home/user1/.ssh/ se vytvořili dva druhy klíčů a to veřejný (id_ed25519.pub) a privátní (id_ed25519 bez přípony):

ls -l /home/user1/.ssh/
-rw------- 1 user1 user1 432 Nov 21 17:07 id_ed25519
-rw-r--r-- 1 user1 user1 115 Nov 21 17:07 id_ed25519.pub

Metoda č. 3 – PuTTy:

1. Stažení a spuštění PuTTYgen

2. Generování klíčů

Jak typ klíče bude vybrán EdDSA, což je je obecný algoritmus pro digitální podpisy založený na eliptických křivkách. Jako eliptická křivka bude vybrána Ed25519, což je křivka Curve25519 a je optimalizována pro bezpečnost a efektivitu. Následně kliknout na Generate a při generování pohybovat myší po okně PuTTYgen, což přispěje k náhodnosti generování.

Generate SSH Key Pair PuTTy

Generate SSH Key Pair PuTTy

Pro zajímavost Ed25519 nabízí ekvivalentní bezpečnost při mnohem menší velikosti klíče než RSA. Například Ed25519 poskytuje bezpečnost podobnou 3072bitovému klíči RSA s klíčem o velikosti pouhých 256 bitů. Ed25519 tak je úspornější z hlediska výpočetních nároků i paměti, což je výhodné pro použití v zařízeních s omezenými zdroji (např. IoT).

3. Uložení klíčů

  • Veřejný klíč:
    • Kliknout na Save public key pro uložení veřejného klíče do souboru.
    • Zkopírovat veřejný klíč z pole Public key for pasting into OpenSSH authorized_keys file
      • Pozn. Tento formát veřejného klíče je potřeba mít pokud se bude vkládat souboru authorized_keys např. na Unix/Linux OS.

PuTTy Key Generator

  • Privátní klíč:
    • Kliknout na Save private key. Pro zvýšení bezpečnosti privátního klíče je možné zadat heslo (tzv. passphrase)
    • Uložit soubor s privátním klíčem na bezpečné místo.

PuTTy Key Generator

 

 

Další články:

V dalším článku je ukázáno, jak naimportovat SSH veřejný klíč do Unix/Linux serveru.

Import SSH Key Linux

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *