Przejdź do głównej zawartości

Jak wygenerować klucz SSH?

Metoda generowania klucza różni się w zależności od posiadanego systemu operacyjnego. W przypadku systemu Microsoft Windows najlepiej ściągnąć do tego darmową aplikację. Aplikacja ta zadziałą też w systemach Linux i MacOS lecz nie jest wymagana, gdyż tam możemy już użyć polecenia w konsoli.

warning

Uwaga! Dla bezpieczeństwa, nigdy nie przekazuj klucz prywatnego. Tylko klucz publiczny SSH może trafiać do osób trzecich. Tylko klucz publiczny możesz przekazywać dalej.

Jak wygenerować klucz SSH w systemie Windows?

W przypadku systemu Microsoft Windows pobierz darmową aplikację Puttygen

Pobierz tę wersję i otwórz aplikację. Uruchom program puttygen.exe. Nie zmieniaj wartości domyślnych. Typ klucza pozostaw na RSA, a ilość bitów minimum 2048.

Naciśnij przycisk (1) "Generate" następnie poruszaj trochę myszką, da to programowi losowe dane potrzebne do wygenerowania klucza.

program puttygen Okienko programu puttygen. Ustawienia klucza SSH.

Klucze zostaną wygenerowane.

Teraz pozostaje nam nadać hasło (passphrase) aby zabezpieczyć klucz prywatny. Dle sensu i bezpieczeństwa użyj długiego hasła i wpisz je w polach (3) Key passphrase.

puttygen klucz ssh Okienko programu puttygen. Generowanie kluczy SSH.

Klucz publiczny

(2) Zapisz swój wygenerowany klucz publiczny SSH na dysk komputera. Ten klucz możesz udostępniać.

Klucz prywatny

(3) Zapisz swój klucz prywatny, na dysku komputera. Klucz prywatny będzie zabezpieczony hasłem, które nadałeś. Nie udostępniaj tego klucza nikomu.

Jak wygenerować klucz SSH w systemie Linux?

W systemie Linux sprawa jest o wiele prostsza. Wystarczy dostęp do terminala tego, gdzie wydajemy komendy i polecenia.

W terminalu wydaj polecenie ssh-keygen.

Analogicznie zostaniesz poproszony o nadanie hasła dla swojego klucza prywatnego (Enter passphrase).

Przykład dla Linux:
root@srv:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:JpfhpRfogE8z3hK1JD0+t/6Wf+XEWhi3236Fci6vSPM root@localhost
The key's randomart image is:
+---[RSA 3072]----+
| .+=o |
|. *++. . |
| + =o.. o . |
| . o...o* . . |
| o..S = o |
| .== . B o|
| . . oB =.|
| . o .o+= +|
| o..... E=+|
+----[SHA256]-----+
root@srv:~#

info

Jeśli chcemy zwiększyć bęzpieczeństwo klucza możemy do polecenia dołączyć parametry:

np. ssh-keygen -t rsa -b 4096

Nasz klucz publiczny dostępny będzie w lokalizacji /root/.ssh/id_rsa.pub w katalogu obecnego użytkownika.

Jak wygenerować klucz SSH w systemie MacOS?

W terminalu wydaj polecenie ssh-keygen.

Analogicznie zostaniesz poproszony o nadanie hasła dla swojego klucza prywatnego (Enter passphrase).

Przykład dla Apple MacOS:
hitme@Mac-mini playground % ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hitme/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/hitme/.ssh/id_rsa.
Your public key has been saved in /Users/hitme/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AixW/p+HfOw1HDAn98MpDRZlHDBhwWSoRbwvdxM9IN0 hitme@Mac-mini.local
The key's randomart image is:
+---[RSA 3072]----+
| . o.+@*=. |
| + ++.*.E |
| o + o+.* .. |
| . . oo . .B =.o.|
| o S .o *..|
| + +..ooo. |
| = +o++ . |
| + . . |
| . |
+----[SHA256]-----+
hitme@Mac-mini playground %

Nasz klucz publiczny dostępny będzie w lokalizacji /Users/hitme/.ssh/id_rsa.pub w katalogu obecnego użytkownika.

info

Klucze publiczne można umieszczać na innych serwerach lub przekazywać je administratorom.