Ubuntu – Kompletny przewodnik po konfiguracji SSH w systemie Ubuntu
Linux

Ubuntu – Kompletny przewodnik po konfiguracji SSH w systemie Ubuntu

Ubuntu – Kompletny przewodnik po konfiguracji SSH w systemie Ubuntu

SSH (Secure Shell) to jeden z najpopularniejszych i najbezpieczniejszych sposobów na zdalne zarządzanie systemem. Jest to nieocenione narzędzie, które pozwala na zdalny dostęp do serwera lub komputera, umożliwiając administratorom systemów i użytkownikom zarządzanie maszynami zdalnie. W tym artykule omówimy, jak skonfigurować zdalny dostęp do systemu Ubuntu przy pomocy SSH.


1. Instalacja serwera SSH na Ubuntu

Pierwszym krokiem w konfiguracji SSH jest zainstalowanie odpowiedniego serwera SSH na systemie Ubuntu. Zwykle jest to OpenSSH Server, który jest dostępny w oficjalnych repozytoriach Ubuntu.

a) Instalacja OpenSSH Server

  1. Otwórz terminal.
  2. Zaktualizuj listę dostępnych pakietów:
    sudo apt update
    
  3. Zainstaluj serwer SSH:
    sudo apt install openssh-server
    
  4. Po zakończeniu instalacji, sprawdź, czy usługa SSH działa poprawnie, uruchamiając:
    sudo systemctl status ssh
    

    Powinieneś zobaczyć komunikat wskazujący, że usługa SSH działa.

Ubuntu – Kompletny przewodnik po konfiguracji SSH w systemie Ubuntu
Ubuntu – Kompletny przewodnik po konfiguracji SSH w systemie Ubuntu

2. Konfiguracja pliku sshd_config

Aby skonfigurować serwer SSH, należy edytować plik konfiguracyjny sshd_config, który znajduje się w katalogu /etc/ssh.

a) Edycja pliku sshd_config

  1. Otwórz plik konfiguracyjny za pomocą edytora tekstowego, np. nano:
    sudo nano /etc/ssh/sshd_config
    
  2. W tym pliku możesz skonfigurować różne opcje, takie jak:
    • Port – domyślnie port SSH to 22, ale dla większego bezpieczeństwa można go zmienić.
    • PermitRootLogin – ta opcja decyduje, czy użytkownik root może logować się przez SSH. Zwykle zaleca się wyłączyć tę opcję, ustawiając PermitRootLogin no, aby zwiększyć bezpieczeństwo.
    • PasswordAuthentication – jeśli chcesz zezwolić na logowanie za pomocą hasła, upewnij się, że ta opcja jest ustawiona na yes. Jeśli preferujesz logowanie za pomocą kluczy SSH, ustaw ją na no.

    Na przykład, aby zmienić port na 2222 i wyłączyć logowanie dla roota:

    Port 2222
    PermitRootLogin no
    PasswordAuthentication yes
    
  3. Po wprowadzeniu zmian, zapisz plik i zamknij edytor (Ctrl+X, potem Y i Enter).

b) Ponowne uruchomienie serwera SSH

Po dokonaniu zmian w konfiguracji, musisz ponownie uruchomić usługę SSH, aby zastosować zmiany:

sudo systemctl restart ssh

3. Konfiguracja zapory sieciowej (Firewall)

Jeśli używasz zapory sieciowej (np. ufw w Ubuntu), musisz otworzyć odpowiedni port, aby umożliwić zdalne połączenie SSH.

a) Sprawdzenie statusu zapory sieciowej

Aby sprawdzić, czy zapora sieciowa jest włączona, użyj polecenia:

sudo ufw status

b) Otwieranie portu SSH (domyślnie port 22)

Aby umożliwić połączenie SSH na porcie 22 (lub innym, jeśli zmieniłeś port), użyj polecenia:

sudo ufw allow 22/tcp

Jeśli zmieniłeś port na 2222 (jak w poprzednim przykładzie), otwórz ten port:

sudo ufw allow 2222/tcp

c) Sprawdzenie statusu zapory po zmianach

Po otwarciu portu, sprawdź ponownie status zapory, aby upewnić się, że zmiany zostały zastosowane:

sudo ufw status

4. Generowanie i konfiguracja kluczy SSH

Dla dodatkowego bezpieczeństwa zaleca się korzystanie z kluczy SSH zamiast haseł do logowania się na serwerze. Dzięki temu tylko osoby posiadające odpowiedni klucz prywatny mogą uzyskać dostęp.

a) Generowanie kluczy SSH

  1. Na komputerze lokalnym (z którego chcesz połączyć się z Ubuntu) otwórz terminal.
  2. Wygeneruj parę kluczy SSH:
    ssh-keygen -t rsa -b 4096
    
  3. Po wprowadzeniu tego polecenia, zostaniesz poproszony o podanie lokalizacji, w której chcesz zapisać klucz. Jeśli nie chcesz zmieniać domyślnej lokalizacji, po prostu naciśnij Enter.
  4. Zostaniesz również poproszony o podanie hasła do klucza. Możesz pominąć ten krok, ale dla bezpieczeństwa warto ustawić hasło.

b) Skopiowanie klucza publicznego na serwer Ubuntu

Aby umożliwić logowanie za pomocą klucza SSH, musisz skopiować klucz publiczny na serwer Ubuntu. Najłatwiej zrobić to za pomocą polecenia ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@adres_IP_ubuntu

Zamień user na nazwę użytkownika w systemie Ubuntu, a adres_IP_ubuntu na adres IP serwera, do którego chcesz uzyskać dostęp.

c) Testowanie połączenia SSH

Po skopiowaniu klucza, spróbuj połączyć się z serwerem za pomocą SSH:

ssh user@adres_IP_ubuntu

Jeśli wszystko zostało poprawnie skonfigurowane, będziesz mógł połączyć się z serwerem bez wprowadzania hasła.


5. Zabezpieczenie połączenia SSH

Aby zwiększyć bezpieczeństwo połączeń SSH, możesz zastosować kilka dodatkowych metod:

a) Zmiana portu SSH

Zmienienie domyślnego portu (22) na inny może pomóc w uniknięciu ataków brute-force. Aby zmienić port, edytuj plik /etc/ssh/sshd_config:

Port 2222

Następnie zrestartuj usługę SSH:

sudo systemctl restart ssh

b) Ograniczenie logowania tylko dla określonych użytkowników

Aby zwiększyć bezpieczeństwo, możesz zezwolić na logowanie tylko dla określonych użytkowników:

  1. Edytuj plik /etc/ssh/sshd_config.
  2. Dodaj następującą linię, aby umożliwić logowanie tylko dla użytkownika user:
    AllowUsers user
    
  3. Zapisz plik i zrestartuj SSH:
    sudo systemctl restart ssh
    

6. Rozwiązywanie problemów z połączeniem SSH

a) Brak połączenia z serwerem SSH

  1. Sprawdź, czy serwer SSH jest uruchomiony:
    sudo systemctl status ssh
    
  2. Sprawdź, czy zapora sieciowa nie blokuje portu SSH:
    sudo ufw status
    
  3. Spróbuj połączyć się za pomocą opcji -v (verbose), aby uzyskać szczegółowe informacje o próbie połączenia:
    ssh -v user@adres_IP_ubuntu
    

Podsumowanie

SSH to potężne narzędzie umożliwiające zdalne zarządzanie systemem Ubuntu. Dzięki powyższemu przewodnikowi skonfigurujesz serwer SSH, stworzysz bezpieczne połączenie oraz dostosujesz ustawienia zgodnie z Twoimi potrzebami. Pamiętaj, aby regularnie aktualizować oprogramowanie i stosować najlepsze praktyki zabezpieczeń, aby chronić swój system przed nieautoryzowanym dostępem.

Polecane wpisy
Ubuntu download
Ubuntu download

Ubuntu jest jedną z najpopularniejszych dystrybucji Linuxa, oferującą wiele różnych wersji, z których można wybrać tę najlepiej dopasowaną do swoich Czytaj dalej

Konfiguracja tuneli VPN z wykorzystaniem dynamicznego DNS (DDNS)
Konfiguracja tuneli VPN z wykorzystaniem dynamicznego DNS (DDNS)

Konfiguracja tuneli VPN z wykorzystaniem dynamicznego DNS (DDNS) Dynamiczne DNS (DDNS) to usługa umożliwiająca automatyczną aktualizację rekordów DNS w odpowiedzi Czytaj dalej

Czytaj  Linux Mint instalacja