Klucze SSH to podstawa bezpiecznego połączenia z serwerami. Zaskakująco dużo osób nadal nie wykorzystuje tej możliwości lub generuje nadal klucze RSA. Tak więc ściągawka – jak wygenerować nowoczesną parę kluczy SSH Ed25519 w środowisku Windows przy użyciu PuTTY, a następnie skonfigurować je na zdalnym serwerze Linux lub AIX.
Ten tutorial pozwoli Ci całkowicie wyeliminować konieczność wpisywania hasła przy każdym logowaniu SSH, używając najnowocześniejszej technologii kryptograficznej.
Dlaczego Ed25519, a nie RSA?
Ed25519 to przyszłość SSH! Oto dlaczego warto porzucić RSA:
🚀 15x mniejszy klucz (68 vs 1024+ znaków)
⚡ Błyskawiczna generacja i weryfikacja
🛡️ Wyższe bezpieczeństwo przy mniejszym rozmiarze
🔒 Odporność na ataki timing i side-channel
✅ Wspierany przez wszystkie nowoczesne systemy (OpenSSH 6.5+, 2014)
Porównanie kluczy:
# Ed25519 (nowoczesny)
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQs7X9f8Vk... szydell@laptop-2025
# RSA (przestarzały)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDExample123VeryLongKeyHereAndItGoesOnAndOn... szydell@laptop-2025
1. Instalacja PuTTY i przygotowanie środowiska
Jeżeli jeszcze nie masz zainstalowanego PuTTY, pobierz pełny pakiet ze strony: https://www.putty.org/
Uwaga: Pobierz cały pakiet (MSI Installer, najpewniej 64bit), nie tylko putty.exe. Będziemy potrzebować dodatkowo PuTTYgen do generowania kluczy.
Po instalacji powinny być dostępne następujące programy:
PuTTY
– klient SSHPuTTYgen
– generator kluczyPageant
– agent kluczy SSHPSCP/PSFTP
– narzędzia do transferu plików
2. Generowanie pary kluczy Ed25519 w PuTTYgen
2.1 Uruchamianie PuTTYgen
Znajdź i uruchom PuTTYgen z menu Start lub z katalogu instalacji PuTTY.
2.2 Wybór typu klucza Ed25519
W głównym oknie PuTTYgen:
- W sekcji „Parameters” z dropdown menu „Type of key to generate” wybierz EdDSA
- W polu „Curve to use for generating this key” zostaw Ed25519 (domyślna opcja)
- Usuń/zignoruj wartość w polu „Number of bits” – Ed25519 ma stały rozmiar klucza (256 bitów, ale bezpieczeństwo jak RSA 4096!)
- Kliknij przycisk „Generate”
Dlaczego Ed25519? To najnowocześniejszy standard używany przez GitHub, GitLab i wszystkie wielkie firmy technologiczne. Oferuje maksymalne bezpieczeństwo przy minimalnym rozmiarze.
2.3 Generowanie entropii
Po kliknięciu „Generate” pojawi się pasek postępu, a PuTTYgen poprosi Cię o poruszanie myszką nad pustym obszarem okna.
Ed25519 generuje się błyskawicznie – wystarczy kilka sekund poruszania myszką!
2.4 Konfiguracja wygenerowanego klucza
Po zakończeniu generowania zobaczysz znacznie krótszy klucz publiczny – to normalne i właściwe dla Ed25519!
- Pole z kluczem publicznym
- Pole „Key comment” – wpisz tutaj opisową nazwę, np.:
szydell@laptop-ed25519-202
5 - Pole „Key passphrase” – wpisz tutaj silne hasło zabezpieczające klucz prywatny lub nie wpisuj, jeżeli nie chcesz podawać hasła do klucza przy logowaniu (mniej bezpieczna opcja).
Przykład komentarza: Użyj opisowej nazwy jak szydell@laptop-ed25519-202
5 – pozwoli Ci to łatwo identyfikować klucze w przyszłości.
2.5 Zapisywanie kluczy
To jest kluczowy moment – zapisz oba klucze!
- Kliknij „Save public key” i zapisz jako
id_ed25519.pub
- Kliknij „Save private key” i zapisz jako
id_ed25519.ppk
Uwaga: PuTTY zapisuje klucze prywatne w formacie .ppk (PuTTY Private Key), który jest specyficzny dla tego narzędzia.
- BONUS: Zaznacz i skopiuj cały tekst z górnego pola (klucz publiczny) – przyda się za chwilę!
Przykład tego, co skopiujesz:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQs7X9f8VkqZU5b2Pk8... szydell@laptop-ed25519-2024
3. Sprawdzenie kompatybilności serwera
Zanim przejdziemy dalej, sprawdźmy czy Twój serwer obsługuje Ed25519:
3.1 Sprawdzenie wersji SSH
Zaloguj się na serwer przez PuTTY (jeszcze hasłem) i wykonaj:
# Sprawdź wersję OpenSSH
ssh -V
# Sprawdź dostępne algorytmy kluczy
ssh -Q key
Ed25519 jest obsługiwany od:
✅ OpenSSH 6.5+ (2014) – praktycznie wszystkie nowoczesne systemy
✅ Linux: wszystkie aktualne dystrybucje
✅ AIX 7.2+ z najnowszymi aktualizacjami
✅ Stare systemy: jeśli masz OpenSSH starszy niż 6.5, użyj ECDSA P-256
Jeśli widzisz ssh-ed25519
na liście – jest dobrze! 🎉
4. Kopiowanie klucza publicznego na serwer docelowy
4.1 Logowanie na serwer przez PuTTY
Uruchom PuTTY i zaloguj się na swój serwer Linux/AIX przy użyciu hasła (jeszcze ostatni raz! 😉).
4.2 Tworzenie katalogu .ssh (jeśli nie istnieje)
# Sprawdź czy katalog .ssh istnieje
ls -la ~/.ssh
# Jeśli nie istnieje, stwórz go
mkdir ~/.ssh
# Ustaw odpowiednie uprawnienia (BARDZO WAŻNE!)
chmod 700 ~/.ssh
Dlaczego 700? Katalog .ssh może być dostępny tylko dla właściciela. Inne uprawnienia to poważny problem bezpieczeństwa.
4.3 Dodawanie klucza publicznego do authorized_keys
Teraz dodamy Twój klucz Ed25519 do pliku authorized_keys
:
# Przejdź do katalogu .ssh
cd ~/.ssh
# Stwórz/edytuj plik authorized_keys
vi authorized_keys
4.4 Wklejanie klucza publicznego Ed25519
W edytorze:
- Wklej skopiowany wcześniej klucz publiczny (powinien zaczynać się od
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...
) - Jeden klucz = jedna linia – Ed25519 jest krótki, więc łatwo się mieści
- Zapisz i zamknij plik
Przykład zawartości pliku authorized_keys
z kluczem Ed25519:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQs7X9f8VkqZU5b2Pk8qJ3... szydell@laptop-ed25519-2024
4.5 Ustawianie uprawnień do pliku authorized_keys
To jest krytyczne dla bezpieczeństwa:
# Ustaw uprawnienia do odczytu tylko dla właściciela
chmod 600 ~/.ssh/authorized_keys
# Sprawdź poprawność uprawnień
ls -la ~/.ssh/
Serwer powinien zwrócić coś takiego:
drwx------ 2 szydell szydell 4096 Dec 15 10:30 .
drwxr-xr-x 3 szydell szydell 4096 Dec 15 10:29 ..
-rw------- 1 szydell szydell 98 Dec 15 10:30 authorized_keys
5. Konfiguracja PuTTY do używania klucza Ed25519
5.1 Konfiguracja połączenia w PuTTY
- Uruchom PuTTY
- W polu „Host Name” wpisz adres swojego serwera
- W lewym menu rozwiń „Connection” → „SSH” → „Auth” → „Credentials”
5.2 Wskazanie klucza prywatnego Ed25519
W sekcji „Authentication parameters”:
- Kliknij „Browse…” obok pola „Private key file for authentication”
- Wybierz zapisany wcześniej plik
id_ed25519.ppk
- Ważne: Upewnij się, że widzisz ścieżkę do pliku w polu tekstowym
5.3 Zapisanie sesji
Żeby nie konfigurować tego za każdym razem:
- Wróć do „Session” w lewym menu
- W polu „Saved Sessions” wpisz nazwę, np.
moj-serwer-ed25519
- Kliknij „Save”
6. Połączenie z kluczem Ed25519
- Kliknij „Open” w PuTTY
- System powinien zapytać o passphrase do klucza prywatnego (nie hasło użytkownika!), lub nie pytać w ogóle jeżeli hasło nie zostało ustawione.
- Po wpisaniu passphrase powinno nastąpić zalogowanie bez podawania hasła użytkownika