Generowanie kluczy SSH Ed25519 w PuTTY i konfiguracja na serwerach Linux/AIX

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 SSH
  • PuTTYgen – generator kluczy
  • Pageant – agent kluczy SSH
  • PSCP/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:

  1. W sekcji „Parameters” z dropdown menu „Type of key to generate” wybierz EdDSA
  2. W polu „Curve to use for generating this key” zostaw Ed25519 (domyślna opcja)
  3. Usuń/zignoruj wartość w polu „Number of bits” – Ed25519 ma stały rozmiar klucza (256 bitów, ale bezpieczeństwo jak RSA 4096!)
  4. 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!

  1. Pole z kluczem publicznym
  2. Pole „Key comment” – wpisz tutaj opisową nazwę, np.: szydell@laptop-ed25519-2025
  3. 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-2025 – pozwoli Ci to łatwo identyfikować klucze w przyszłości.

2.5 Zapisywanie kluczy

To jest kluczowy moment – zapisz oba klucze!

  1. Kliknij „Save public key” i zapisz jako id_ed25519.pub
  2. 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.

  1. 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:

  1. Wklej skopiowany wcześniej klucz publiczny (powinien zaczynać się od ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...)
  2. Jeden klucz = jedna linia – Ed25519 jest krótki, więc łatwo się mieści
  3. 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

  1. Uruchom PuTTY
  2. W polu „Host Name” wpisz adres swojego serwera
  3. W lewym menu rozwiń „Connection”„SSH”„Auth”„Credentials”

5.2 Wskazanie klucza prywatnego Ed25519

W sekcji „Authentication parameters”:

  1. Kliknij „Browse…” obok pola „Private key file for authentication”
  2. Wybierz zapisany wcześniej plik id_ed25519.ppk
  3. 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:

  1. Wróć do „Session” w lewym menu
  2. W polu „Saved Sessions” wpisz nazwę, np. moj-serwer-ed25519
  3. Kliknij „Save”

6. Połączenie z kluczem Ed25519

  1. Kliknij „Open” w PuTTY
  2. 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.
  3. Po wpisaniu passphrase powinno nastąpić zalogowanie bez podawania hasła użytkownika

Dzięki za komentarz!