Jak utworzyć klucze SSH za pomocą OpenSSH w systemie MacOS lub Linux ⋆ ALexHost SRL

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
20.01.2025
No categories

Jak utworzyć klucze SSH za pomocą OpenSSH w systemie MacOS lub Linux

W świecie bezpiecznej komunikacji zdalnej SSH (Secure Shell) jest jednym z najczęściej używanych protokołów do łączenia się ze zdalnymi serwerami. SSH zapewnia bezpieczną metodę logowania się do zdalnych maszyn i wykonywania poleceń przez sieć. Jednym z najbezpieczniejszych sposobów uwierzytelniania przy użyciu SSH są klucze SSH, które umożliwiają uwierzytelnianie bez hasła i dodają dodatkową warstwę zabezpieczeń. Klucze SSH występują w parach: klucz prywatny i klucz publiczny. W tym artykule omówimy kroki tworzenia kluczy SSH przy użyciu OpenSSH w systemie macOS lub Linux.

Czym są klucze SSH?

Klucze SSH to para kluczy kryptograficznych używanych do uwierzytelniania klienta (komputera) na serwerze SSH. Klucz publiczny jest umieszczany na serwerze, a klucz prywatny jest przechowywany na komputerze klienckim. Podczas próby zalogowania się, serwer sprawdza klucz publiczny z kluczem prywatnym, aby zweryfikować tożsamość użytkownika. W przeciwieństwie do haseł, klucze SSH nie są podatne na ataki siłowe, co czyni je wysoce bezpieczną metodą uwierzytelniania.

Dlaczego warto używać kluczy SSH?

  • Zwiększone bezpieczeństwo: Klucze SSH są trudniejsze do złamania niż tradycyjne hasła, co zmniejsza ryzyko nieautoryzowanego dostępu.
  • Uwierzytelnianie bez hasła: Po skonfigurowaniu klucze SSH umożliwiają logowanie się do serwerów bez konieczności każdorazowego wprowadzania hasła.
  • Automatyzacja procesów: Klucze SSH są idealne do automatyzacji skryptów, tworzenia kopii zapasowych i przesyłania plików, które wymagają bezpiecznego zdalnego dostępu.

Wymagania wstępne

Aby postępować zgodnie z tym przewodnikiem, będziesz potrzebować:

  1. Maszyna z systemem macOS lub Linux z zainstalowanym OpenSSH (OpenSSH jest domyślnie dołączony na obu platformach).
  2. Dostęp do zdalnego serwera, na którym zostanie umieszczony klucz publiczny.

Przewodnik krok po kroku dotyczący tworzenia kluczy SSH

Krok 1: Otwórz terminal

Zarówno w systemie macOS, jak i Linux, aplikacja Terminal zapewnia interfejs do uruchamiania poleceń wiersza poleceń. Otwórz Terminal przez:

  • macOS: Wyszukaj “Terminal” w Spotlight (naciśnij Cmd Spacja) lub znajdź go w Aplikacje > Narzędzia.
  • Linux: Naciśnij Ctrl Alt T lub wyszukaj Terminal w menu aplikacji.

Krok 2: Generowanie pary kluczy SSH

Aby wygenerować nową parę kluczy SSH, użyj następującego polecenia w terminalu:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Objaśnienie opcji:

  • t rsa: Określa typ klucza do utworzenia. RSA jest jednym z najczęściej używanych algorytmów.
  • b 4096: Ustawia długość klucza na 4096 bitów dla większego bezpieczeństwa.
  • C “your_email@example.com”: Dodaje komentarz do klucza, zwykle używany do identyfikacji klucza. Zastąp go swoim adresem e-mail lub opisową nazwą.

Po uruchomieniu tego polecenia zobaczysz dane wyjściowe podobne do:

Generowanie publicznej/prywatnej pary kluczy rsa.
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Krok 3: Wybierz lokalizację pliku (opcjonalnie)

Domyślnie klucz zostanie zapisany w katalogu .ssh w folderze domowym jako id_rsa (klucz prywatny) i id_rsa.pub (klucz publiczny). Naciśnij Enter, aby potwierdzić domyślną lokalizację lub możesz określić inną ścieżkę.

Przykład:

Wprowadź plik , w którym ma zostać zapisany klucz (/Users/yourusername/.ssh/id_rsa): [Naciśnij Enter]

Krok 4: Ustawienie hasła (opcjonalne, ale zalecane)

Następnie zostaniesz poproszony o ustawienie hasła dla swojego klucza:

Wprowadź hasło (puste dla braku hasła):

Hasło zapewnia dodatkową warstwę bezpieczeństwa, wymagając wprowadzenia go za każdym razem, gdy używasz klucza prywatnego. Możesz pozostawić to pole puste, jeśli wolisz nie używać hasła (choć jest to zalecane w celu zwiększenia bezpieczeństwa).

Jeśli ustawisz hasło, upewnij się, że jest to coś, co możesz zapamiętać lub bezpiecznie przechowywać.

Krok 5: Potwierdź utworzenie pary kluczy

Po wykonaniu kroków zobaczysz dane wyjściowe podobne do:

Oznacza to, że zarówno klucz prywatny (id_rsa), jak i klucz publiczny (id_rsa.pub) zostały pomyślnie utworzone i zapisane w katalogu .ssh.

Krok 6: Skopiowanie klucza publicznego na serwer

Po wygenerowaniu pary kluczy SSH należy skopiować klucz publiczny na zdalny serwer, na którym chcemy się zalogować.

Możesz użyć polecenia ssh-copy-id, aby zautomatyzować ten proces:

ssh-copy-id user@your-server.com

Zastąp user@your-server.com swoją rzeczywistą nazwą użytkownika i adresem serwera. Zostaniesz poproszony o podanie hasła do zdalnego serwera.

Alternatywnie, jeśli ssh-copy-id nie jest dostępny, można ręcznie skopiować klucz publiczny:

  1. Wyświetl zawartość klucza publicznego, uruchamiając:
    cat ~/.ssh/id_rsa.pub
  2. Skopiuj dane wyjściowe i wklej je do pliku.ssh/authorized_keys na zdalnym serwerze. Można to zrobić logując się do serwera:
    ssh user@your-server.com

    Następnie utwórz katalog .ssh (jeśli nie istnieje) i dodaj klucz:

    mkdir -p ~/.ssh
    echo "your-copied-public-key" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

Krok 7: Przetestuj połączenie SSH

Po skopiowaniu klucza publicznego na zdalny serwer można przetestować połączenie:

ssh user@your-server.com

Jeśli wszystko jest skonfigurowane poprawnie, powinieneś być w stanie zalogować się bez wprowadzania hasła (chyba że ustawiłeś hasło dla swojego klucza, w którym to przypadku będziesz musiał je wprowadzić).

Zarządzanie kluczami SSH

  • Lista wszystkich kluczy: Jeśli masz wiele kluczy, możesz je wyświetlić, przechodząc do katalogu .ssh:
    ls ~/.ssh
  • Dodawanie kluczy do agenta SSH: Jeśli chcesz uniknąć wielokrotnego wprowadzania hasła, możesz dodać swój klucz do agenta SSH:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Wnioski

Tworzenie kluczy SSH za pomocą OpenSSH w systemie macOS lub Linux jest prostym procesem, który znacznie poprawia bezpieczeństwo połączeń ze zdalnymi serwerami. Wykonując kroki opisane w tym przewodniku, można wygenerować parę kluczy i skonfigurować uwierzytelnianie bez hasła, co ułatwia bezpieczne zarządzanie zdalnymi maszynami. Klucze SSH są niezbędnym narzędziem dla każdego programisty, administratora systemu lub każdego, kto często pracuje ze zdalnymi serwerami.

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills