SSH to protokół sieci kryptograficznej, który pozwala kontrolować i modyfikować zdalny komputer przez Internet. Ten protokół zapewnia bezpieczeństwo nawet za pośrednictwem wrażliwej sieci. Większość dystrybucji Linux używa OpenSSH, projektu typu open source wdrażającym protokół SSH.
W tym przewodniku zademonstrujemy, jak sprawdzić, czy SSH działa w Linux.
SSH działający na Linux
Istnieje wiele metod wykrywania, czy SSH obecnie działa w systemie.
Zauważ, że SSH jest podzielony na dwie sekcje pod względem funkcjonalności: Klient SSH i serwer SSH. Klient łączy się z serwerem za pomocą protokołu SSH. Klucz SSH jest domyślną miarą bezpieczeństwa w celu ochrony połączenia.
Jeśli SSH zostanie zainstalowany i włączony, jest prawdopodobne, że serwer SSH jest uruchomiony w systemie, czekając na żądanie połączenia SSH. Możemy wykryć, czy serwer SSH działa, ale nie podaje informacji, jeśli połączenie SSH jest aktywne. Możemy sprawdzić, czy port SSH jest obecnie otwarty.
Proces SSH
To pierwszy krok w sprawdzaniu, czy SSH obecnie działa. Szukamy statusu procesu SSHD. Niniejszy przewodnik szczegółowo pracuje z procesami Linux.
Użyj polecenia PS, aby wymienić wszystkie procesy i odfiltrować wyjście za pomocą GREP, aby sprawdzić, czy proces SSH działa.
$ ps aux | Grep Sshd
W zależności od stanu procesu wyjście będzie się różnić.
Port SSH
Każdy proces/usługa w Linux otrzymuje dedykowany port do komunikacji w sieci. SSH domyślnie jest skonfigurowany do używania portu 22 do zdalnej komunikacji. Zauważ, że możliwe jest skonfigurowanie innego portu dla SSH. Jest to dobry środek bezpieczeństwa, aby zapobiec różnym atakom, na przykład DDo lub brutalnej sile.
Nawet jeśli program jest poświęcony określonym porcie, port nie będzie otwarty, jeśli program nie działa. Możemy użyć tej sztuczki, aby sprawdzić, czy SSH działa. Jeśli port jest otwarty, SSH jest uruchomiony.
Aby sprawdzić listę otwartych portów, będziemy używać narzędzia NetStat. Jest to dedykowane narzędzie do drukowania różnych informacji o sieci, takich jak połączenia sieciowe, tabele routingu, statystyki interfejsu itp. Ten przewodnik pokazuje dogłębne użycie NetStat.
Następujące polecenie sprawdzi, czy SSH słucha portu 22. Jeśli SSH jest skonfigurowany do słuchania innego portu, zamiast tego użyj tego portu.
$ netstat -plant | GREP: 22
Alternatywną metodą sprawdzania otwartych portów jest sprawdzanie pliku portu. Poniższe polecenie wydrukuje listę wszystkich plików otwartego portu.
$ lsof -i
Inną metodą jest telnet do portu SSH.
$ Telnet LocalHost 22
W zależności od tego, czy port 22 jest otwarty, wyjście będzie się różnić.
Usługa SSH
Status usługi SSH
Usługa SSH zarządza stanem funkcji. Następujące polecenie wydrukuje status usługi SSH.
$ sudo Systemctl Status Sshd
$ Service SSHD Status
Zatrzymanie ssh
Domyślnie SSH jest skonfigurowany do uruchamiania w rozruchu. Jeśli posiadanie SSH nie jest obecnie konieczne, możemy to zatrzymać. Zauważ, że wymaga to konta głównego lub użytkownika nie-root z uprawnieniami Sudo, aby zmienić usługę.
Następujące polecenie zatrzyma usługę SSH.
$ sudo systemctl stop sshd
$ sudo service sshd stop
Rozpoczynając ssh
Jeśli SSH nie jest uruchomione, rozpocznij usługę SSH. Powinien załadować wszystkie komponenty i gotowy do przyjęcia połączeń SSH.
$ sudo systemctl start sshd
$ sudo service sshd start
Włączanie/wyłączanie SSH
Jeśli usługa jest włączona, oznacza to, że system uruchomi usługę w rozruchu. System nie uruchomi usługi niepełnosprawnej w rozruchu.
Poniższe polecenie wyłączy usługę SSH. Zauważ, że aby użyć SSH, usługa musi zostać rozpoczęta ręcznie.
$ sudo systemctl wyłącz SSHD
Następujące polecenie oznaczy usługę SSH „włączony".
$ sudo systemctl włącz SSHD
Końcowe przemyślenia
SSH to potężna funkcja, która ułatwia zdalne zarządzanie. Jego nieodłączny bezpieczny charakter i prostota sprawiają, że jest to standard branżowy do zdalnego zarządzania systemem. SSH jest częścią codziennego życia administratora systemu.
Praca z wieloma zdalnymi systemami? Następnie rozważ użycie ansible do zarządzania nimi wszystkimi. Ansible to system zarządzania konfiguracją, który wykorzystuje SSH do łączenia i zarządzania wieloma zdalnymi systemami. Jest to solidna ramy do zarządzania wszystkimi systemami zdalnymi z jednego miejsca.
Szczęśliwy komputer!