Co to jest SSH i podstawowe sposoby pracy z nim

Co to jest SSH i podstawowe sposoby pracy z nim

SSH (Secure Shell) — to protokół do bezpiecznego zdalnego połączenia z serwerem i zarządzania nim za pomocą wiersza poleceń. Po wynajęciu serwera — VPS/VDS lub dedykowanego — SSH często staje się głównym narzędziem administracji systemem. W tym artykule omówimy, jak działa połączenie SSH, jak połączyć się z serwerem z Windows, macOS lub Linux, a także jakie narzędzia mogą ułatwić pracę z SSH: PuTTY, Midnight Commander i standardowy terminal.

Czym jest SSH i do czego jest potrzebne

SSH (Secure Shell, «bezpieczna powłoka») — to protokół sieciowy, który jest używany do zdalnego zarządzania serwerami i innymi urządzeniami. Umożliwia bezpieczne przesyłanie poleceń i danych przez zaszyfrowane połączenie.

SSH został stworzony jako bezpieczniejsza alternatywa dla protokołu Telnet, który przesyłał dane w otwartej postaci, w tym loginy i hasła. W przeciwieństwie do Telnet, SSH wykorzystuje szyfrowanie i mechanizmy weryfikacji integralności danych, co znacznie zwiększa bezpieczeństwo połączenia.

Podczas wynajmu VPS/VDS lub dedykowanego serwera użytkownik zazwyczaj uzyskuje dostęp do panelu sterowania lub interfejsu webowego. Jednak wiele zadań administracyjnych wykonuje się właśnie przez SSH — szczególnie gdy potrzebna jest pełna kontrola nad systemem lub dostęp do funkcji, których nie ma w interfejsie graficznym.

SSH jest używane z kilku powodów:

  • Szybka administracja. Przez wiersz poleceń wiele działań wykonuje się szybciej niż przez interfejs webowy, szczególnie przy regularnej pracy z serwerem.
  • Rozszerzone możliwości zarządzania. Część narzędzi systemowych, usług i ustawień jest dostępna tylko przez konsolę.
  • Praca z frameworkami i CMS. Niektóre narzędzia do tworzenia i administracji stronami (np. Composer, Drush lub WP-CLI) działają przez SSH.

Nawet podstawowe zrozumienie SSH znacznie ułatwia pracę z serwerem, daje większą kontrolę nad systemem i pozwala szybciej wykonywać zadania administracyjne.

Przeczytaj także: WordPress: jak zabezpieczyć swoją stronę i uniknąć luk w otwartym kodzie

Różnice między Web SSH a VNC dla zdalnego dostępu

SSH — to protokół zdalnego dostępu, a nie osobny program. Do połączenia z serwerem przez SSH zazwyczaj używa się specjalnych klientów, takich jak PuTTY, OpenSSH lub standardowy terminal w Linux i macOS. Użytkownik musi również znać adres serwera, login, hasło lub klucze SSH oraz podstawowe polecenia do pracy w konsoli.

Dla nowicjuszy takie połączenie może być niezbyt wygodne: błąd w adresie serwera, nieprawidłowe parametry dostępu lub ograniczenia sieciowe mogą uniemożliwić nawiązanie połączenia.

Dlatego wielu dostawców hostingu oferuje Web SSH — dostęp do konsoli SSH przez przeglądarkę bez instalacji dodatkowych programów. W takim przypadku połączenie z serwerem odbywa się przez interfejs webowy panelu sterowania, a użytkownik uzyskuje dostęp do konsoli bezpośrednio w przeglądarce.

Oprócz Web SSH, w panelach sterowania VPS/VDS często dostępne są VNC lub Web VNC. W przeciwieństwie do SSH, VNC zapewnia nie dostęp do wiersza poleceń, ale pełnoprawne zdalne zarządzanie graficznym interfejsem serwera — właściwie tak, jakbyś pracował bezpośrednio przy nim.

Web VNC działa podobnie, ale otwiera się bezpośrednio w przeglądarce bez potrzeby instalacji osobnego klienta VNC.

Panel sterowania serwerem i użycie VNC

Web VNC — to technologia zdalnego dostępu, która pozwala zarządzać komputerem lub serwerem przez graficzny interfejs. Jedną z cech Web VNC jest możliwość połączenia przez przeglądarkę bez instalacji osobnego klienta VNC. Taki dostęp działa niezależnie od SSH i może być przydatny w przypadkach, gdy występują problemy z dostępem do serwera.

Na przykład, jeśli użytkownik przypadkowo zablokował dostęp SSH, nieprawidłowo skonfigurował parametry sieciowe lub stracił dostęp do danych logowania, Web VNC pozwala uzyskać dostęp do serwera i poprawić ustawienia.

Jednocześnie VNC i Web VNC na serwerach zazwyczaj nie są używane do stałej administracji, ale do awaryjnego dostępu, diagnostyki lub wstępnej konfiguracji systemu w przypadkach, gdy SSH jest niedostępne.

Jak nawiązać połączenie SSH z VDS lub dedykowanym serwerem

Jeśli na komputerze zainstalowano Linux lub macOS, połączenie przez SSH jest dość proste, ponieważ te systemy operacyjne mają już wbudowany terminal z obsługą SSH. W Windows sytuacja była wcześniej bardziej skomplikowana, jednak w Windows 10 i nowszych wersjach również jest wbudowany klient SSH.

Rozważmy, jak wykonać połączenie SSH z serwerem przez terminal.

W Linux terminal można otworzyć kombinacją klawiszy Ctrl + Alt + T. W macOS należy nacisnąć Command + Space i wpisać w wyszukiwarce słowo «Terminal».

Po otwarciu terminala wpisz polecenie:

ssh login@servername

gdzie login — to login użytkownika serwera, a servername — adres IP lub nazwa domeny serwera. Te dane zazwyczaj są przesyłane przez dostawcę hostingu po aktywacji usługi i są dostępne w panelu sterowania.

Po wykonaniu polecenia system poprosi o wprowadzenie hasła. Jeśli dane są poprawne, nawiąże się połączenie SSH i uzyskasz dostęp do zarządzania serwerem przez konsolę.

Na przykład, tak wygląda proces łączenia się z serwerem w Linux Ubuntu.

Połączenie z serwerem na systemie Linux

Najpopularniejszym klientem SSH dla Windows przez długi czas pozostawał PuTTY.

W Windows 10 i nowszych wersjach klient SSH OpenSSH jest zazwyczaj już wbudowany w system, jednak w niektórych przypadkach trzeba go dodatkowo aktywować. W tym celu otwórz sekcję «Dodatkowe komponenty» w ustawieniach Windows i upewnij się, że komponent OpenSSH Client jest zainstalowany.

Omówiliśmy podstawowe kroki do nawiązania połączenia SSH z serwerem za pomocą tego protokołu. W zależności od systemu operacyjnego, konfiguracji serwera i ustawień dostępu procedura połączenia może się nieco różnić. Jeśli wystąpią trudności, warto skontaktować się z pomocą techniczną dostawcy hostingu.

Po pomyślnym połączeniu przez SSH użytkownik uzyskuje dostęp do szerokiego zestawu narzędzi do administracji serwerem. Następnie omówimy podstawowe możliwości pracy przez SSH, które będą przydatne nawet dla nowicjuszy.

Podstawowe polecenia SSH

Po połączeniu przez SSH użytkownik uzyskuje dostęp do wiersza poleceń serwera. Do pracy z plikami, katalogami i procesami używa się standardowych poleceń Linux. Oto niektóre z podstawowych poleceń SSH:

  • ls — wyświetla zawartość bieżącego katalogu.
  • cd — służy do przechodzenia między katalogami. Na przykład: cd foldername.
  • mkdir — tworzy nowy katalog. Na przykład: mkdir foldername.
  • touch — tworzy nowy plik. Na przykład: touch filename.
  • rm — usuwa pliki i katalogi.
  • cat — wyświetla zawartość pliku w konsoli.
  • pwd — pokazuje pełną ścieżkę do bieżącego katalogu.
  • cp — kopiuje pliki i katalogi.
  • mv — przenosi lub zmienia nazwę plików i katalogów.
  • grep — wykonuje wyszukiwanie tekstu w plikach. Na przykład: grep "phrase" filename.
  • find — wyszukuje pliki i katalogi według podanych parametrów.
  • vi / nano — edytory tekstowe do pracy z plikami przez konsolę.
  • history — wyświetla historię wykonanych poleceń.
  • kill — kończy proces według jego PID.
  • killall — kończy procesy według nazwy.
  • rsync — używany do kopiowania i synchronizacji plików i katalogów.
  • wget — pobiera pliki z adresu URL.
  • zip i unzip — tworzą i rozpakowują archiwa ZIP.
  • df -h — pokazuje informacje o wykorzystaniu przestrzeni dyskowej.

Te polecenia pomagają w podstawowej administracji serwera, pracy z plikami, przeglądaniu informacji systemowych i zarządzaniu procesami przez SSH.

Midnight Commander

Midnight Commander (mc) — to konsolowy menedżer plików dla systemów Linux i Unix, który ułatwia pracę z plikami i katalogami przez terminal.

Podstawowe możliwości Midnight Commander:

  • praca z archiwami i sieciowymi systemami plików (Samba, FTP, SFTP);
  • kopiowanie i przenoszenie plików w tle;
  • wbudowany edytor tekstu z podświetlaniem składni;
  • wsparcie dla pracy przez SSH i innych zdalnych połączeń;
  • wsparcie dla myszy, UTF-8 i wielojęzycznego interfejsu.

Po połączeniu z serwerem przez SSH wpisz w terminalu polecenie: mc

Midnight Commander dostęp do serwera za pomocą komendy mc

Monitorowanie obciążenia serwera

Do monitorowania stanu serwera i aktywnych procesów często używa się narzędzia htop. Umożliwia ono w czasie rzeczywistym przeglądanie informacji o wykorzystaniu zasobów systemowych.

Podstawowe możliwości htop:

  • przeglądanie czasu pracy systemu;
  • monitorowanie obciążenia serwera (load average);
  • kontrola wykorzystania procesora i pamięci RAM;
  • wyszukiwanie procesów według PID lub nazwy;
  • przeglądanie drzewiastej struktury procesów;
  • zarządzanie procesami bezpośrednio z interfejsu narzędzia.

Po połączeniu z serwerem przez SSH uruchomienie htop można wykonać poleceniem: htop

Monitorowanie obciążenia na wirtualnym serwerze za pomocą polecenia htop

Import i eksport bazy danych

Do importu i eksportu baz danych MySQL przez SSH można używać następujących poleceń.

Import bazy danych:

mysql -h server -u username -p database_name < dump.sql

Eksport bazy danych (tworzenie kopii zapasowej):

mysqldump -h server -u username -p database_name > backup.sql

Te polecenia pozwalają szybko przenosić bazy danych, tworzyć kopie zapasowe i przywracać dane bez użycia interfejsu webowego.

Praca przez SSH daje więcej możliwości do administracji serwera, automatyzacji zadań i zarządzania systemem przez wiersz poleceń.