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ę:
- Jak wygenerować klucze SSH.
- Jak dodać klucz publiczny do maszyny z Linux.
- Jak przetestować połączenie i skonfigurować aliasy SSH.
- 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:
- Lokalizacji pliku klucza (naciśnij Enter, aby użyć domyślnej lokalizacji:
~/.ssh/id_rsa
). - 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
- Otwórz Windows PowerShell lub Wiersz polecenia.
- Wpisz następujące polecenie, aby wygenerować klucz:
ssh-keygen -t rsa -b 4096 -C "twoj_email@domena.com"
- Podaj lokalizację do zapisania klucza (domyślnie:
C:\Users\TwojaNazwaUzytkownika\.ssh\id_rsa
). - (Opcjonalnie) Ustaw hasło do klucza prywatnego dla większego bezpieczeństwa.
Generowanie klucza SSH za pomocą PuTTYgen
- Pobierz i zainstaluj PuTTYgen z oficjalnej strony PuTTY.
- Uruchom PuTTYgen.
- Wybierz typ klucza: RSA i ustaw długość na 4096 bitów.
- Kliknij „Generate” i poruszaj myszką w oknie, aby zwiększyć entropię (losowość).
- 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.
- Kliknij „Save private key” (np.
Generowanie klucza w MobaXterm
MobaXterm umożliwia generowanie kluczy SSH bez potrzeby korzystania z dodatkowych narzędzi.
- Uruchom MobaXterm.
- W menu głównym wybierz „Tools -> MobaKeyGen (SSH key generator)”.
- W oknie generatora kluczy:
- 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
).
- 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
- Pobierz i zainstaluj PuTTY z oficjalnej strony.
- Uruchom PuTTY i wprowadź adres IP serwera w polu „Host Name (or IP address)”.
- 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. - Kliknij „Open”, aby połączyć się z serwerem.
MobaXterm
- Pobierz i zainstaluj MobaXterm z oficjalnej strony.
- Uruchom MobaXterm i wybierz „Session -> SSH”.
- Wprowadź adres IP serwera i nazwę użytkownika.
- W sekcji „Advanced SSH settings” wskaż plik klucza prywatnego (np.
id_rsa
). - Kliknij „OK”, aby rozpocząć sesję.