Generowanie kluczy RSA i logowanie za pomocą klucza do serwera (SSH)

Generowanie kluczy RSA i logowanie za pomocą klucza do serwera (SSH)

macOS Windows Linux Data aktualizacji: 09.10.2020

Generowanie kluczy RSA i logowanie za pomocą klucza do serwera (SSH)

Logując się do serwera za pomocą SSH za każdym razem jesteśmy zmuszeni podawać hasło. Z czasem robi się to uciążliwe, nie mówiąc już o sytuacji kiedy to dość często musimy wykonywać określone prace w ramach serwera. Jak przyspieszyć pracę i logować się za pomocą kluczy RSA?

Rozwiązanie jest szybkie i bardzo proste. Wystarczy na naszym komputerze wygenerować klucze RSA. Następnie należy przesłać klucz publiczny na serwer za pomocą SSH. Jak to zrobić?

Generowanie kluczy RSA w MacOS i Linux

  1. Wykonujemy poniższe polecenie:
ssh-keygen -t rsa
  1. Otrzymamy komunikat "Generating public/private rsa key pair. Enter file in which to save the key (~/.ssh/id_rsa)". Nie zmieniamy tej lokalizacji i zatwierdzamy przyciskiem Enter.
  2. Podajemy dwukrotnie hasło zabezpieczające dla generowanych kluczy.
  3. Otrzymamy komunikat "Your identification has been saved in ~/.ssh/id_rsa. Your public key has been saved in ~/.ssh/id_rsa.pub". Zostały wygenerowane dwa klucze - jeden prywatny (id_rsa) i drugi publiczny (id_rsa.pub).

Logowanie do serwera w MacOS i Linux

  1. Przenosimy klucz publiczny na serwer
ssh-copy-id -i ~/.ssh/id_rsa.pub LOGIN_DO_KONTA_SSH@ADRES_SERWERA
  1. Logujemy się jak do tej pory za pomocą polecenia ssh login@serwer. Tym razem podawanie hasła nie będzie konieczne.

Generowanie kluczy RSA w Windows

  1. Pobieramy i uruchamiamy program PuTTygen. Dzięki niemy wygenerujemy klucze RSA.
  2. Nie zmieniamy domyślnych wartości: SSH-2 RSA, długość klucza 2048 bitów. Zatwierdzamy przyciskiem Generate.
  3. Poruszamy myszką w wyznaczonym przez program miejscu.
  4. Podajemy dwukrotnie hasło zabezpieczające dla generowanych kluczy.
  5. Przechodzimy do "Conversions" i wybieramy "Export OpenSSH key". Zapisujemy do lokalizacji "~/.ssh/authorized_keys" - jeśli nie istnieje, należy ją utworzyć.

Logowanie do serwera w Windows

a. Jeśli lokalizacja na serwerze nie istnieje, to ją tworzymy:

cat ~/.ssh/id_rsa.pub | ssh login@serwer "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

b. Jeśli lokalizacja na serwerze istnieje:

cat ~/.ssh/id_rsa.pub | ssh login@serwer "cat >> ~/.ssh/authorized_keys"

Autor: Bartosz Stefanicki. Data publikacji: 10.07.2020. Tagi: linux, mac, openssh, serwer, ssh, terminal, windows. Źródło obrazka porady: Pixabay.

Komentarze