CodeGym /Kursy /Docker SELF /Konfiguracja SSH, diagnostyka sieci przy użyciu `ping`, `...

Konfiguracja SSH, diagnostyka sieci przy użyciu `ping`, `netstat`, `dig`

Docker SELF
Poziom 4 , Lekcja 5
Dostępny

Konfiguracja SSH, diagnostyka sieci przy użyciu ping, netstat, dig

1. Konfiguracja serwera SSH

Witaj na praktycznym zanurzeniu w możliwości sieciowe Linuxa. Dziś czas przetestować naszą wiedzę w praktyce! Nauczysz się konfigurować serwer SSH, łączyć się z nim za pomocą klienta, diagnozować sieć za pomocą najpopularniejszych poleceń i sprawdzać dostępność portów. Poczujmy się jak prawdziwi inżynierowie sieci!

SSH (Secure Shell) — to narzędzie do bezpiecznego zdalnego dostępu do serwera. Pozwala na połączenie z serwerem, zarządzanie nim tak, jakbyś przy nim siedział, a także na przesyłanie plików.

Krok 1: Instalacja serwera SSH

Na początek zainstalujemy serwer SSH. Jeśli używasz Ubuntu lub Debiana, wykonaj następujące polecenie:

sudo apt update
sudo apt install openssh-server -y

Jeśli używasz Fedory lub CentOS:

sudo yum install -y openssh-server

Po instalacji upewnij się, że usługa SSH jest uruchomiona:

sudo systemctl start ssh
sudo systemctl enable ssh  # Aby SSH uruchamiało się automatycznie przy starcie systemu
sudo systemctl status ssh  # Sprawdzamy status usługi

Jeśli wszystko przebiegło pomyślnie, zobaczysz, że usługa działa.

Krok 2: Konfiguracja serwera SSH

Plik konfiguracyjny serwera SSH znajduje się pod następującą ścieżką:

sudo nano /etc/ssh/sshd_config

Niektóre z przydatnych parametrów:

  • PermitRootLogin no — zakaz logowania się jako użytkownik root.
  • PasswordAuthentication yes — włączenie uwierzytelniania hasłem.
  • PubkeyAuthentication yes — włączenie uwierzytelniania za pomocą kluczy.

Po wprowadzeniu zmian zrestartuj SSH:

sudo systemctl restart ssh

Teraz serwer jest gotowy do przyjmowania połączeń.

Krok 3: Połączenie z serwerem przez SSH

Z innej maszyny (lub lokalnie przez localhost) spróbuj się połączyć:

ssh your_username@your_server_ip

Jeśli pracujesz lokalnie, zamień your_server_ip na 127.0.0.1. Wpisz hasło swojego użytkownika i znajdziesz się wewnątrz systemu przez terminal.


2. Konfigurowanie uwierzytelniania za pomocą kluczy

Uwierzytelnianie za pomocą hasła jest wygodne, ale z punktu widzenia bezpieczeństwa najlepszym rozwiązaniem jest użycie kluczy SSH.

Krok 1: Generowanie kluczy SSH

Na maszynie klienckiej uruchom komendę:

ssh-keygen

Zostaniesz zapytany, gdzie zapisać klucze. Domyślnie zostaną zapisane w katalogu ~/.ssh/. Po prostu naciśnij Enter.

Krok 2: Kopiowanie klucza na serwer

Kopiujemy klucz publiczny na serwer:

ssh-copy-id your_username@your_server_ip

Teraz możesz się połączyć bez wprowadzania hasła:

ssh your_username@your_server_ip

Jeśli wszystko zostało poprawnie skonfigurowane, gratulacje! Teraz twój serwer SSH jest zabezpieczony uwierzytelnianiem kluczem.


3. Diagnostyka sieci za pomocą ping

Już znamy to polecenie. Szybko sprawdźmy dostępność naszego serwera SSH.

ping -c 4 your_server_ip

Powinieneś zobaczyć odpowiedź od serwera. Jeśli odpowiedzi nie ma, sprawdź, czy serwer został uruchomiony i czy jest poprawnie skonfigurowany.


4. Sprawdzanie DNS za pomocą nslookup i dig

Jeśli twój serwer ma nazwę domenową, możesz sprawdzić jego działanie poprzez DNS. Na przykład:

Komenda nslookup:

nslookup twoja-domena.com

Powinieneś zobaczyć adres IP odpowiadający twojej domenie.

Komenda dig:

Teraz spróbujmy uzyskać pełny zestaw informacji:

dig twoja-domena.com

Zobaczysz wiele danych, ale nas interesuje linia z ANSWER SECTION, gdzie będzie podany adres IP.


5. Analiza połączeń sieciowych z netstat i ss

Serwer SSH nasłuchuje na porcie 22 domyślnie. Sprawdźmy to za pomocą netstat:

sudo netstat -tln | grep 22

Albo za pomocą ss, bardziej nowoczesnego narzędzia:

sudo ss -tln | grep 22

Jeśli widzisz, że port 22 jest w stanie "LISTEN" (oczekuje na połączenie), oznacza to, że serwer jest gotowy na przyjmowanie klientów.


6. Sprawdzanie dostępności portu za pomocą nc

Komenda netcat (lub nc) pozwala testować dostępność portów. Spróbujmy połączyć się z naszym serwerem SSH:

nc -zv your_server_ip 22

Powinieneś zobaczyć komunikat w stylu "Connection to your_server_ip 22 port [tcp/ssh] succeeded!".

Jeśli połączenie się nie powiodło, może to oznaczać, że port jest zablokowany przez firewall albo że serwer nie nasłuchuje na wskazanym porcie.


7. Zadanie praktyczne

Połączmy teraz wszystko w jednym praktycznym scenariuszu. Będziesz musiał:

  1. Włączyć SSH na swojej maszynie lub środowisku wirtualnym, na przykład WSL2.
  2. Wygenerować klucze i skonfigurować autoryzację za pomocą kluczy (wyłączając hasła).
  3. Połączyć się z serwerem przez SSH.
  4. Użyć ping do sprawdzenia dostępności serwera.
  5. Użyć nslookup i dig, aby sprawdzić rozwiązywanie adresu IP (jeśli masz nazwę domeny).
  6. Sprawdzić port 22 na serwerze za pomocą netstat, ss i nc.

Teraz jesteś gotowy nie tylko na konfigurację zdalnego dostępu, ale także na rozwiązywanie problemów sieciowych, diagnozowanie serwera i ochronę go jak prawdziwy pro! Zbliżasz się już do poziomu, na którym można cię nazwać Linux-guru.

1
Опрос
Praca z siecią w Linuxie,  4 уровень,  5 лекция
недоступен
Praca z siecią w Linuxie
Praca z siecią w Linuxie
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION