Klucze publiczne i prywatne – do czego służą i jak je wygenerować?
Para kluczy – publiczny i prywatny – to podstawa kryptografii asymetrycznej. Dzięki niej możliwe jest bezpieczne szyfrowanie danych, tworzenie podpisów cyfrowych oraz uwierzytelnianie użytkowników bez użycia haseł.
Do czego służą klucze kryptograficzne?
- Klucze publiczne i prywatne wykorzystuje się m.in. do:
- szyfrowania i ochrony poufnych danych,
- podpisywania plików oraz wiadomości e-mail,
- bezpiecznego logowania na serwery i urządzenia sieciowe (SSH, routery, switche) bez konieczności wpisywania hasła
Jak wygenerować parę kluczy?
Istnieje wiele sposobów tworzenia kluczy kryptograficznych. Oto dwa najpopularniejsze:
1. OpenSSL (Linux, macOS, Windows)
W terminalu wpisz kolejno:
openssl genpkey -algorithm RSA -out prywatny.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in prywatny.pem -out publiczny.pem
W ten sposób utworzysz klucz prywatny (prywatny.pem) oraz odpowiadający mu klucz publiczny (publiczny.pem).
2. PuTTYgen (Windows)
PuTTYgen to proste narzędzie do generowania kluczy SSH.
Krok po kroku:
- Pobierz i zainstaluj PuTTY ze strony https://www.putty.org.
- Uruchom PuTTYgen.
- Wybierz typ klucza – najlepiej Ed25519 (jest nowocześniejszy i bezpieczniejszy niż RSA).
- Kliknij Generate i poruszaj myszką, aby wytworzyć losowość.
- Zapisz klucz prywatny (Save private key) i skopiuj klucz publiczny.
- Wklej klucz publiczny na serwerze do pliku ~/.ssh/authorized_keys.
Od tej chwili możesz logować się na serwer (np. VPS lub router) bez hasła – wystarczy wskazać swój klucz prywatny w programie PuTTY.
Podsumowanie
Klucze publiczne i prywatne to podstawa bezpiecznej komunikacji w sieci. Umożliwiają szyfrowanie danych, uwierzytelnianie użytkowników i logowanie bez użycia haseł. W artykule pokazaliśmy, jak samodzielnie wygenerować parę kluczy za pomocą OpenSSL lub PuTTYgen oraz jak je wykorzystać do logowania SSH. Dzięki temu Twoje połączenia z serwerami staną się nie tylko wygodniejsze, ale przede wszystkim – znacznie bezpieczniejsze.
Autor: Marek Czwartyński, Senior IT Support Specialist, Support and Service. SI-Consulting