Jak wygenerować i dodać klucze SSH na serwer

Klucze SSH są wygodnym i bezpiecznym sposobem logowania do serwerów, eliminując konieczność używania haseł przy każdym połączeniu. Pamiętaj, aby zawsze dbać o bezpieczeństwo klucza prywatnego i nigdy go nie udostępniać.

W tym przewodniku dowiesz się się:

  1. Jak wygenerować klucze SSH.
  2. Jak dodać klucz publiczny do maszyny z Linux.
  3. Jak przetestować połączenie i skonfigurować aliasy SSH.
  4. Jak połączyć się z Linux z systemu Windows za pomocą PuTTY lub MobaXterm.

Krok 1: Sprawdzenie obecności istniejących kluczy SSH

Przed wygenerowaniem nowych kluczy warto sprawdzić, czy już istnieją klucze SSH na Twoim komputerze lokalnym. Otwórz terminal i wpisz:

ls -al ~/.ssh

Jeśli katalog ~/.ssh istnieje, zobaczysz listę plików, takich jak id_rsa (klucz prywatny) i id_rsa.pub (klucz publiczny). Jeśli nie, przejdź do kroku 2.

Krok 2: Generowanie nowych kluczy SSH

Aby wygenerować nowe klucze SSH, wykonaj następujące polecenie w terminalu lokalnym:

ssh-keygen -t rsa -b 4096 -C "twoj_email@domena.com"

Wyjaśnienie parametrów:

  • -t rsa: Określa typ klucza (RSA).
  • -b 4096: Ustawia długość klucza na 4096 bitów dla większego bezpieczeństwa.
  • -C "twoj_email@domena.com": Dodaje komentarz (np. Twój e-mail) do klucza publicznego (nie wymagane)

Podczas generowania klucza zostaniesz poproszony o podanie:

  1. Lokalizacji pliku klucza (naciśnij Enter, aby użyć domyślnej lokalizacji: ~/.ssh/id_rsa).
  2. Opcjonalnego hasła do klucza (możesz pozostawić puste, ale dla większego bezpieczeństwa zaleca się ustawienie hasła).
 

Zapisy na webinar z Proxmoxa!

Zapraszamy na wyjątkowy webinar poświęcony wirtualizacji serwerów i sieci z wykorzystaniem Proxmox. Podczas spotkania wyjaśnimy, czym jest wirtualizacja i jak działa, a także pokażemy, jak rozpocząć swoją przygodę z tą technologią.

Warsztaty odbędą się 10 lutego o 13:00! Nie przegap!

Zapisy na: https://asdevops.pl/warsztaty/

 

 

 

Krok 3: Przegląd kluczy SSH

Po wygenerowaniu kluczy sprawdź, czy pliki zostały utworzone. Powinieneś zobaczyć pliki id_rsa (klucz prywatny) i id_rsa.pub (klucz publiczny).

Uwaga: Klucz prywatny (id_rsa) nigdy nie powinien być udostępniany publicznie.

Krok 4: Dodanie klucza publicznego do maszyny z Linux

Aby umożliwić logowanie za pomocą klucza SSH, musisz dodać klucz publiczny do pliku ~/.ssh/authorized_keys na maszynie z Linux.

Skopiuj klucz publiczny na serwer: Użyj polecenia ssh-copy-id, aby automatycznie dodać klucz publiczny do serwera:

ssh-copy-id user@adres_ip_serwera

Zastąp user nazwą użytkownika na serwerze oraz adres_ip_serwera adresem IP lub nazwą hosta serwera.
Jeśli ssh-copy-id nie jest dostępne, możesz ręcznie skopiować klucz publiczny:

cat ~/.ssh/id_rsa.pub | ssh user@adres_ip_serwera "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Ustaw odpowiednie uprawnienia na serwerze: Na maszynie z Linux upewnij się, że katalog ~/.ssh i plik authorized_keys mają odpowiednie uprawnienia:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Krok 5: Testowanie połączenia SSH

Przetestuj połączenie z serwerem za pomocą klucza SSH:

ssh user@adres_ip_serwera

Jeśli wszystko zostało poprawnie skonfigurowane, powinieneś zostać zalogowany bez podawania hasła.

Krok 6: Prostsze korzystanie z SSH (opcjonalne)

Aby uprościć korzystanie z SSH, możesz skonfigurować plik ~/.ssh/config na swojej maszynie lokalnej:

echo "Host nazwa_aliasu
HostName adres_ip_serwera
User user
IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config

Dzięki temu będziesz mógł łączyć się z serwerem za pomocą prostego polecenia:

ssh nazwa_aliasu

Generowanie klucza SSH w systemie Windows

Generowanie klucza SSH za pomocą OpenSSH w Windows

  1. Otwórz Windows PowerShell lub Wiersz polecenia.
  2. Wpisz następujące polecenie, aby wygenerować klucz:ssh-keygen -t rsa -b 4096 -C "twoj_email@domena.com"
  3. Podaj lokalizację do zapisania klucza (domyślnie: C:\Users\TwojaNazwaUzytkownika\.ssh\id_rsa).
  4. (Opcjonalnie) Ustaw hasło do klucza prywatnego dla większego bezpieczeństwa.

Generowanie klucza SSH za pomocą PuTTYgen

  1. Pobierz i zainstaluj PuTTYgen z oficjalnej strony PuTTY.
  2. Uruchom PuTTYgen.
  3. Wybierz typ klucza: RSA i ustaw długość na 4096 bitów.
  4. Kliknij „Generate” i poruszaj myszką w oknie, aby zwiększyć entropię (losowość).
  5. Po wygenerowaniu klucza zapisz klucz publiczny i prywatny:
    • Kliknij „Save private key” (np. id_rsa.ppk).
    • Skopiuj klucz publiczny z okna PuTTYgen i zapisz go w pliku tekstowym lub bezpośrednio na serwerze.

Generowanie klucza w MobaXterm

MobaXterm umożliwia generowanie kluczy SSH bez potrzeby korzystania z dodatkowych narzędzi.

  1. Uruchom MobaXterm.
  2. W menu głównym wybierz „Tools -> MobaKeyGen (SSH key generator)”.
  3. W oknie generatora kluczy:
  4. Po wygenerowaniu klucza:
    • Przekonwertuj klucz: wybierz z menu Conversion a następnie Export OpenSSH key. W ostrzeżeniu wybierz Tak
    • Zapisz klucz publiczny klikając „Save public key”.
    • Zapisz klucz prywatny klikając „Save private key” (np. id_rsa).
  5. Skopiuj klucz publiczny do pliku ~/.ssh/authorized_keys na serwerze Debian, korzystając z MobaXterm lub innego klienta SSH.

Łączenie się z serwerem Linux przez Windows

Jeśli używasz systemu Windows, możesz połączyć się z serwerem za pomocą aplikacji takich jak PuTTY lub MobaXterm.

PuTTY

  1. Pobierz i zainstaluj PuTTY z oficjalnej strony.
  2. Uruchom PuTTY i wprowadź adres IP serwera w polu „Host Name (or IP address)”.
  3. W sekcji „Connection -> SSH -> Auth” wskaż plik klucza prywatnego (np. id_rsa). Aby użyć klucza w formacie OpenSSH, najpierw skonwertuj go do formatu PuTTY (.ppk) za pomocą narzędzia PuTTYgen.
  4. Kliknij „Open”, aby połączyć się z serwerem.

MobaXterm

  1. Pobierz i zainstaluj MobaXterm z oficjalnej strony.
  2. Uruchom MobaXterm i wybierz „Session -> SSH”.
  3. Wprowadź adres IP serwera i nazwę użytkownika.
  4. W sekcji „Advanced SSH settings” wskaż plik klucza prywatnego (np. id_rsa).
  5. Kliknij „OK”, aby rozpocząć sesję.

 

Zapisy na webinar z Proxmoxa!

Zapraszamy na wyjątkowy webinar poświęcony wirtualizacji serwerów i sieci z wykorzystaniem Proxmox. Podczas spotkania wyjaśnimy, czym jest wirtualizacja i jak działa, a także pokażemy, jak rozpocząć swoją przygodę z tą technologią.

Warsztaty odbędą się 10 lutego o 13:00! Nie przegap!

Zapisy na: https://asdevops.pl/warsztaty/

 

 

 

Zapisy na warsztaty "Proxmox - Praktyczne Wprowadzenie do Wirtualizacji Serwerów"!

X