Jak dodać klucze SSH do nowego lub istniejącego serwera VPS?
Podczas zarządzania wirtualnym serwerem prywatnym (VPS) bezpieczeństwo jest najwyższym priorytetem, a jednym z najbezpieczniejszych sposobów uwierzytelniania na serwerze jest użycie kluczy SSH. Klucze SSH zapewniają bezhasłową, bezpieczną metodę logowania do serwera poprzez wykorzystanie kryptografii klucza publicznego. Ten przewodnik przeprowadzi Cię przez proces dodawania kluczy SSH zarówno do nowych, jak i istniejących środowisk VPS, zapewniając płynne i bezpieczne logowanie.
Czym są klucze SSH?
Klucze SSH to para kluczy kryptograficznych – klucz publiczny i klucz prywatny – używanych do uwierzytelniania. Klucz publiczny jest przechowywany na serwerze, a klucz prywatny pozostaje na komputerze lokalnym. Podczas próby zalogowania się, serwer sprawdza klucz publiczny z kluczem prywatnym, a jeśli są one zgodne, użytkownik otrzymuje dostęp bez konieczności wprowadzania hasła. Klucze SSH oferują bezpieczniejszą metodę niż tradycyjne hasła, które są podatne na ataki siłowe.
Dlaczego warto używać kluczy SSH?
- Zwiększone bezpieczeństwo: Klucze SSH wykorzystują uwierzytelnianie kryptograficzne, które jest znacznie bezpieczniejsze niż hasła.
- Uwierzytelnianie bez hasła: Po skonfigurowaniu kluczy SSH można zalogować się do serwera VPS bez konieczności wpisywania hasła.
- Automatyzacja: Klucze SSH są idealne do automatyzacji zadań, takich jak tworzenie kopii zapasowych, zdalne przesyłanie plików i skrypty administracyjne systemu.
Wymagania wstępne
Zanim zaczniemy, upewnij się, że posiadasz
- Dostęp do VPS (nowego lub istniejącego).
- SSH zainstalowany na komputerze lokalnym (zwykle instalowany domyślnie w systemach macOS i Linux).
- Parę kluczy SSH. Jeśli jej nie posiadasz, dowiesz się jak ją wygenerować.
Dodawanie kluczy SSH do nowego serwera VPS
Jeśli konfigurujesz nowy VPS, wielu dostawców hostingu umożliwia dodanie klucza SSH podczas procesu tworzenia VPS. Oto jak to zrobić:
Krok 1: Wygeneruj parę kluczy SSH (jeśli jej nie masz)
Jeśli nie masz jeszcze pary kluczy SSH, możesz ją wygenerować za pomocą następującego polecenia w lokalnym terminalu (w systemie macOS lub Linux):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
To polecenie tworzy nowy klucz SSH przy użyciu 4096-bitowego szyfrowania RSA i dodaje Twój adres e-mail jako komentarz do klucza. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zapisać klucz w domyślnej lokalizacji(~/.ssh/id_rsa) i opcjonalnie dodaj hasło dla dodatkowej warstwy bezpieczeństwa.
Wygenerowane pliki to:
- id_rsa: klucz prywatny (nigdy go nie udostępniaj).
- id_rsa.pub: Klucz publiczny (to jest to, co przesyłasz do swojego VPS).
Aby wyświetlić klucz publiczny, uruchom następujące polecenie i skopiuj dane wyjściowe
cat ~/.ssh/id_rsa.pub
Krok 2: Zaloguj się do swojego dostawcy VPS
Przede wszystkim musisz zalogować się na swoje konto VPS. Większość dostawców daje możliwość dodania klucza SSH podczas konfiguracji VPS.
Krok 3: Utwórz nowy serwer VPS i dodaj klucz SSH
Podczas procesu tworzenia VPS:
- Wybierz system operacyjny (zwykle oparty na Linuksie, taki jak Ubuntu lub CentOS).
- Poszukaj opcji dodania klucza SSH lub metody uwierzytelniania.
- Wklej publiczny klucz SSH (id_rsa.pub) w odpowiednie pole.
- Zakończ konfigurację VPS, wybierając plan, region i inne opcje.
Po utworzeniu serwera VPS zostanie on automatycznie skonfigurowany w celu umożliwienia dostępu SSH przy użyciu klucza SSH.
Krok 4: Połączenie z serwerem VPS
Teraz, gdy VPS jest skonfigurowany z kluczem SSH, możesz połączyć się z nim za pomocą następującego polecenia (zastąp your_vps_ip adresem IP VPS):
ssh root@your_vps_ip
Jeśli wszystko jest skonfigurowane poprawnie, będziesz
zalogowany do swojego VPS bez konieczności podawania hasła.
Dodawanie kluczy SSH do istniejącego serwera VPS
Jeśli masz już istniejący VPS, ale obecnie korzystasz z uwierzytelniania opartego na hasłach, możesz dodać klucze SSH, aby zabezpieczyć przyszłe logowania. Oto jak to zrobić:
Krok 1: Wygeneruj parę kluczy SSH (w razie potrzeby)
Jeśli jeszcze nie wygenerowałeś pary kluczy SSH, uruchom następujące polecenie na komputerze lokalnym, aby ją utworzyć:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Skopiuj klucz publiczny(id_rsa.pub), uruchamiając:
cat ~/.ssh/id_rsa.pub
Krok 2: Zaloguj się do swojego VPS
Aby dodać klucz SSH do istniejącego serwera VPS, należy zalogować się przy użyciu bieżącej metody (prawdopodobnie z hasłem). Użyj następującego polecenia, aby połączyć się z VPS (zastąp swój_vps_ip rzeczywistym adresem IP):
ssh root@your_vps_ip
Po wyświetleniu monitu wprowadź hasło.
Krok 3: Utwórz katalog .ssh (jeśli nie jest obecny)
Po zalogowaniu się do VPS sprawdź, czy katalog. ssh istnieje. Jeśli nie, utwórz go, uruchamiając następujące polecenia:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
Katalog .ssh jest miejscem przechowywania klucza publicznego.
Krok 4: Dodaj klucz publiczny do pliku authorized_keys
Następnie należy dodać klucz publiczny do pliku authorized_keys, który jest używany przez SSH do uwierzytelniania prób logowania.
- Otwórz plik authorized_keys (utwórz go, jeśli nie istnieje) za pomocą edytora tekstu, takiego jak nano:
nano ~/.ssh/authorized_keys
- Wklej swój publiczny klucz SSH (skopiowany z polecenia cat ~/.ssh/id_rsa.pub ) do pliku.
- Zapisz i zamknij plik, naciskając Ctrl X , a następnie Y i naciśnij Enter.
- Ustaw prawidłowe uprawnienia do pliku authorized_keys, aby upewnić się, że jest on dostępny tylko dla bieżącego użytkownika:
chmod 600 ~/.ssh/authorized_keys
Krok 5: Przetestuj uwierzytelnianie klucza SSH
Po dodaniu klucza SSH zakończ bieżącą sesję, wpisując:
exit
Teraz spróbuj ponownie zalogować się do VPS za pomocą SSH:
ssh root@your_vps_ip
Jeśli klucz został pomyślnie dodany, powinieneś zostać zalogowany bez konieczności podawania hasła.
Krok 6: Wyłącz uwierzytelnianie hasłem (opcjonalnie)
W celu zwiększenia bezpieczeństwa można wyłączyć uwierzytelnianie hasłem, aby upewnić się, że do logowania można używać tylko kluczy SSH. Aby to zrobić:
- Otwórz plik konfiguracyjny SSH na swoim VPS:
nano /etc/ssh/sshd_config
- Znajdź następujące wiersze i zmień je na:
PasswordAuthentication no
PubkeyAuthentication yes
- Zapisz plik i uruchom ponownie usługę SSH, aby zastosować zmiany:
systemctl restart sshd
Spowoduje to wyłączenie logowania opartego na hasłach, umożliwiając dostęp do serwera tylko użytkownikom z prawidłowym kluczem SSH.
Wnioski
Korzystanie z kluczy SSH jest jednym z najskuteczniejszych sposobów zabezpieczenia dostępu do VPS, eliminując potrzebę tradycyjnego uwierzytelniania opartego na hasłach. Niezależnie od tego, czy konfigurujesz nowy VPS, czy zabezpieczasz istniejący, dodanie kluczy SSH jest prostym procesem, który znacznie poprawia bezpieczeństwo. Postępując zgodnie z tym przewodnikiem, można łatwo skonfigurować klucze SSH na serwerze VPS, zautomatyzować bezpieczne logowanie i zapewnić wyższy poziom ochrony serwera i danych.