Jak wygenerować klucz SSH w systemie Linux

Photo of author

By maciekx

Podstawowe informacje o kluczach SSH

  • Klucze SSH to bezpieczny sposób na uzyskanie dostępu do serwerów zdalnych, eliminujący konieczność używania haseł. Opierają się one na parze kluczy: publicznym i prywatnym.
  • Aby stworzyć parę kluczy SSH w systemie Linux, użyj polecenia `ssh-keygen`. Dla zwiększenia bezpieczeństwa warto rozważyć dodanie hasła.
  • Klucz publiczny SSH należy skopiować na serwer zdalny. Można to zrobić za pomocą polecenia `ssh-copy-id` lub ręcznie, wklejając klucz do pliku `authorized_keys`.

Klucz SSH stanowi skuteczną ochronę kont na serwerach zdalnych, jednocześnie umożliwiając dostęp bez potrzeby każdorazowego podawania hasła. Wygenerowanie takiego klucza w środowisku Linux jest zadaniem prostym.

Czym jest klucz SSH?

Klucz SSH to generowany kryptograficznie identyfikator, który umożliwia bezpieczne logowanie do zdalnych komputerów. Jest to zestaw dwóch powiązanych ze sobą kluczy: publicznego i prywatnego. Klucz publiczny jest przeznaczony do umieszczenia na zdalnych maszynach, gdzie służy do weryfikacji tożsamości. Klucz prywatny, jak sama nazwa wskazuje, musi pozostać tajny i być przechowywany na komputerze lokalnym.

Pamiętaj, by nigdy nie udostępniać nikomu swojego klucza prywatnego!

Podczas procesu logowania serwer zdalny, wykorzystując protokół SSH, porównuje klucz publiczny użytkownika z jego kluczem prywatnym. W przypadku zgodności następuje autoryzacja i użytkownik otrzymuje dostęp do systemu zdalnego. Ten mechanizm par kluczy ułatwia konfigurację kont przy jednoczesnym zachowaniu wysokiego poziomu bezpieczeństwa.

Jak utworzyć klucz zdalny?

Aby wygenerować parę kluczy SSH, wystarczy w terminalu systemu Linux wprowadzić polecenie `ssh-keygen`. System poprosi o wskazanie lokalizacji zapisu pliku, a następnie o podanie (opcjonalnie) i potwierdzenie hasła. Hasło to stanowi dodatkową warstwę zabezpieczeń klucza.

Jeśli zdecydujesz się na użycie hasła, pamiętaj o nim! Jego utrata uniemożliwi logowanie za pomocą danego klucza.

Jeśli chcesz logować się bez hasła, pozostaw to pole puste.

Domyślnie polecenie `ssh-keygen` korzysta z algorytmu Ed25519, który jest wysoce bezpieczny i zazwyczaj wystarczający. Możliwe jest określenie innego algorytmu za pomocą opcji `-t`. Zwykle nie ma takiej potrzeby, chyba że serwer nie obsługuje algorytmu domyślnego. Więcej informacji o generowaniu kluczy różnymi algorytmami można znaleźć na stronie manuala polecenia `ssh-keygen`.

Przesyłanie klucza SSH na komputer zdalny

Po wygenerowaniu pary kluczy, klucz publiczny musi zostać umieszczony na serwerze zdalnym. Można to zrobić na dwa sposoby:

Pierwszym i najprostszym jest użycie narzędzia `ssh-copy-id`. Wystarczy wywołać je, podając nazwę użytkownika i adres serwera zdalnego:

 ssh-copy-id [email protected]

Po wprowadzeniu hasła, narzędzie automatycznie skopiuje klucz publiczny na serwer.

Od tego momentu powinieneś być w stanie zalogować się na serwer zdalny za pomocą:

 ssh [email protected] 

W przypadku problemów, konieczne może być ręczne skopiowanie klucza publicznego. Plik z kluczem publicznym, który ma rozszerzenie „.pub”, znajduje się w katalogu `.ssh` w twoim katalogu domowym. Należy otworzyć ten plik, skopiować jego zawartość i wkleić ją do pliku `.ssh/authorized_keys` na serwerze zdalnym.

Po zapisaniu zmian w pliku, powinieneś mieć możliwość logowania do serwera za pomocą SSH. Upewnij się, że tylko Ty masz prawo zapisu do pliku, w przeciwnym razie mogą wystąpić problemy z autoryzacją.


newsblog.pl