CityHost.UA
Pomoc i wsparcie

Co to jest SSH i podstawowe sposoby pracy z nim: Web SSH, Midnight Commander, PuTTy, terminal

 10816
16.02.2022
article

 

 

Wynajmując wirtualny hosting, VDS lub dedykowany serwer, klient nie przychodzi do centrum danych, aby nimi zarządzać — byłoby to zbyt skomplikowane i niewygodne. Dzięki protokołowi zdalnego połączenia może siedzieć w domu przy laptopie i zarządzać swoim hostingiem. Trudno sobie wyobrazić, jaki byłby internet bez technologii SSH: webmasterzy nie tworzyli by stron, firmy nie wynajmowałyby serwerów, a sklepy internetowe nie stałyby się tak popularne, jak teraz. 

Tematowi połączenia SSH oraz przydatnym narzędziom do pracy z nim poświęcony jest ten artykuł. Dowiesz się, jak samodzielnie połączyć się z hostingiem i serwerem z różnych systemów operacyjnych, a na koniec podzielimy się z Tobą przydatnymi komendami SSH. 

Czym jest SSH i jak z niego korzystać

Protokół SSH — to skrypt bezpiecznego połączenia do zdalnego zarządzania serwerem. Jeśli kiedykolwiek wynajmowałeś hosting lub VDS, to prawdopodobnie korzystałeś z panelu zarządzania w koncie klienta. Mogło to wyglądać na przykład tak. 

To graficzny interfejs, który ułatwia pracę z serwerem. Wszystkie programy mają takie wizualne panele, w tym systemy operacyjne. Zarządzamy swoim hostingiem lub VPS, klikając myszką na przyciski, ale pod powierzchnią wygodnego interfejsu działają protokoły. 

Czytaj także: Przegląd paneli zarządzania na VPS.

SSH — to interfejs niegraficzny, najgłębszy poziom komunikacji człowieka z maszyną. Taka interakcja może odbywać się również bezpośrednio, za pomocą konsoli lub terminala. Wyglądają jak czarny ekran, w który należy wpisywać tekstowe komendy.

Termin tłumaczy się jako Secure Shell — bezpieczna powłoka. Ta technologia została wynaleziona jako zamiennik starszego protokołu TELNET. Pozwalał on również na zdalne zarządzanie komputerami, ale wszystkie dane były przesyłane w otwartej postaci (nawet loginy i hasła). Dlatego wymyślono bezpieczną metodę, która nie tylko szyfruje wszystkie dane, ale także sprawdza integralność informacji. 

Ale pojawia się pytanie. Na hostingu jest menedżer plików, FTP i inne narzędzia. Po co zwykłemu klientowi używać SSH, uczyć się wszystkich tych komend, skoro istnieją prostsze sposoby?

Jest kilka powodów:

1. Niektórzy klienci wolą zarządzać serwerem przez SSH. Tego rodzaju zarządzanie nie jest dużo trudniejsze niż praca z graficznymi panelami, a dla tych, którzy nauczyli się go wcześniej, nie ma sensu się przestawiać. Tym bardziej, że wszyscy dostawcy mają różne interfejsy, a SSH wszędzie jest takie samo. 

2. Niektóre komendy uruchamia się tylko przez ten protokół. Jak bogaty by nie był zestaw narzędzi w koncie, nie obejmuje on wszystkich możliwości. Specyficzne lub rzadko używane komendy można wprowadzić tylko za pomocą SSH.

3. Protokół SSH jest niezbędny przy pracy z niektórymi CMS, na przykład Drupal. System jest tak skonstruowany, że część komend można wprowadzić tylko za pomocą SSH, i w żaden inny sposób. 

Czytaj także: TOP-3 CMS do tworzenia sklepu internetowego

Bezpośrednia praca przez SSH — to opcja dla zaawansowanych klientów i administratorów, otwierająca szersze możliwości interakcji z serwerem. Znając przynajmniej podstawowe zasady tej technologii, lepiej zrozumiesz cały proces zarządzania swoim hostingiem. 

Czym różni się Web SSH od zwykłego SSH

Połączenie SSH — to metoda, ale nie narzędzie. Aby połączyć się z jego pomocą z serwerem, potrzebne są określone programy. 

Jednak sam proces połączenia dla nowicjusza jest dość skomplikowany. Nie tam wpisałeś nazwę serwera, nie dodałeś adresu IP do listy dozwolonych, wydaje się, że się zalogowałeś, ale pola z hasłem nie widać… 

Aby pomóc użytkownikom łączyć się w prostszy sposób, w panelu zarządzania wirtualnym hostingiem Cityhost zainstalowaliśmy Web SSH.

Dzięki przeglądarce i zainstalowanym narzędziom po stronie serwera możesz połączyć się przez SSH za pomocą jednego przycisku. 

Czym jest VNC i Web VNC

Otwierając panel zarządzania swojego wirtualnego serwera, zobaczysz, że nie ma opcji Web SSH, ale jest VNC i Web VNC. Co to jest? 

Web VNC — to również system (protokół) do zdalnego dostępu. Jedną z jego cech jest to, że komputer/serwer, z którego odbywa się zarządzanie, może być na innym systemie operacyjnym. Protokół działa omijając SSH i jest wygodny w użyciu w sytuacjach awaryjnych — na przykład, jeśli klient przypadkowo zablokował sobie port lub zapomniał hasła do serwera.

Jednak VNC nie jest przeznaczone do stałej pracy, to raczej dodatkowe narzędzie.  

Jak połączyć się przez SSH z hostingiem lub serwerem

Trochę zrozumieliśmy teorię, a teraz przejdźmy do praktyki i spróbujmy połączyć się przez SSH z różnymi rodzajami hostingu i z różnych systemów operacyjnych.    

Połączenie z wirtualnym hostingiem

Na początku trzeba włączyć SSH, ponieważ domyślnie jest wyłączony. Przejdź do sekcji «Hosting 2.0», kliknij przycisk «Zarządzanie» obok nazwy hostingu i przejdź do sekcji SSH. 

Tutaj znajdziesz również przycisk «Zarządzanie», po naciśnięciu którego system zaproponuje ustawienie hasła do dostępu do SSH. Można je wymyślić lub wygenerować automatycznie. Po tym dostęp do SSH powinien otworzyć się w ciągu 15 minut.    

Gdy to nastąpi, pojawi się dodatkowa opcja «Web SSH: Otwórz». Kliknij na nią. Nie trzeba robić nic więcej — przed tobą już otworzył się terminal do zdalnego zarządzania i można wprowadzać komendy.  

Ważne jest, aby pamiętać, że przez Web SSH można łączyć się tylko z wirtualnym hostingiem. Jeśli masz serwer — będą potrzebne inne sposoby. 

Połączenie z VDS i dedykowanym serwerem

Jeśli na komputerze klienta zainstalowany jest Linux lub Mac OS, wszystko jest bardzo proste — mają one wbudowane terminale. Z Windows jest trochę trudniej, trzeba będzie zainstalować specjalne narzędzia (choć Windows 10 ma już wbudowanego klienta SSH). 

Najpierw przetestujemy połączenie SSH z serwerem za pomocą terminala. 

W Linuxie otwiera się za pomocą kombinacji klawiszy Ctrl+Alt+T. Dla Mac OS należy wpisać na klawiaturze Command + Space i wpisać w pasku słowo «Terminal» — wyszukiwarka wyświetli to narzędzie na górze listy.  

Otwierając terminal, należy wpisać komendę ssh login@servername, gdzie wpisuje się login do serwera, otrzymany od dostawcy e-mailem, a servername — to adres IP serwera (jest w głównych informacjach w panelu klienta). 

Następnie system poprosi o hasło do serwera, a dopiero potem klient będzie mógł zarządzać przez SSH.

Tak na przykład wygląda proces połączenia z serwerem z systemu Linux Ubuntu. 

Najbardziej popularne narzędzie do połączenia przez SSH z systemu Windows nazywa się PuTTY

Jeśli masz Windows 10, to klient SSH jest już wbudowany. Nie zawsze jest włączony, dlatego czasami wymaga jego aktywacji. Aby to zrobić, należy włączyć «Tryb dewelopera» w sekcji «Aktualizacja i zabezpieczenia», a następnie znaleźć «Zarządzanie dodatkowymi komponentami» (można po prostu wpisać w wyszukiwarkę). Tam jest sekcja «Dodaj komponent», w której włącza się «OpenSSH Client».

Opowiedzieliśmy o podstawowych krokach, które będą potrzebne do połączenia z własnym serwerem przez zabezpieczony protokół. W zależności od samego komputera, serwera lub zasad dostawcy w połączeniu mogą być różnice. Ale w każdej sytuacji możesz skonsultować się z pracownikami wsparcia technicznego — zawsze chętnie pomogą.

Cóż, połączyłeś się. Co dalej? Opowiemy o kilku możliwościach połączenia przez SSH, które można nauczyć się używać, nawet jeśli jesteś początkującym administratorem. 

Podstawowe komendy SSH

ls — Pokaż zawartość katalogu (lista nazw plików)

cd — Zmień katalog

mkdir — Utwórz nowy folder (katalog)

touch — Utwórz nowy plik

rm — Usuń plik

cat — Pokaż zawartość pliku

pwd — Pokaż bieżący katalog (pełna ścieżka do tego katalogu)

cp — Skopiuj plik/folder

mv — Przenieś plik/folder

grep — Wyszukaj konkretną frazę w pliku

find — Wyszukaj pliki i foldery

vi/nano — Edytory tekstowe

history — Pokaż 50 ostatnio używanych komend

kill — Zakończ jeden proces (określany za pomocą kodu PID)

killall — Różni się od kill tym, że może «zabić» program, nawet nie znając jego PID. Wszystko, co potrzebuje killall — to nazwa_urządzenia

rsync — synchronizuje pliki między dwoma lub więcej hostami

wget — pobiera plik z podanego linku

zip — archiwizuje jeden lub więcej plików do jednego pliku w formacie .zip

unzip — dekompresuje archiwum

df -h — wyświetla ilość wolnego miejsca na dysku twardym

Midnight Commander

W konsoli jest wbudowany menedżer plików Midnight Commander. Jest wygodny w użyciu i może wykonywać wiele operacji. 

Można go uruchomić za pomocą komendy:

mc

Możliwości Midnight Commander

  • Praca z różnymi archiwami i obrazami systemów plików, jakby były zwykłymi katalogami.

  • Praca z sieciowymi systemami plików Samba, FTP, SFTP.

  • Wykonywanie operacji kopiowania i przenoszenia plików w tle.

  • Wbudowany edytor tekstu z podświetlaniem składni.

  • Tryb tekstowy, oparty na bibliotekach ncurses i S-Lang. Umożliwia to programowi działanie zarówno w konsoli, jak i w różnych emulatorach terminali, a także przez połączenia zdalne, na przykład przez protokół SSH. Obsługuje mysz.

  • Wsparcie dla wielojęzycznego interfejsu.

  • Wsparcie dla kodowania UTF-8.

Midnight Commander zawiera edytor tekstu, który można uruchomić zarówno z wnętrza, jak i osobno, z linii poleceń.

Monitorowanie obciążenia serwera

Śledzenie obciążenia pomoże komenda htop. To program przeznaczony do wyświetlania na terminalu listy uruchomionych procesów i informacji o nich (monitor procesów). Został stworzony jako alternatywa dla programu top.

Uruchamia się wpisując komendę: 

htop

Co można zrobić za pomocą htop

  • dowiedzieć się, ile czasu minęło od uruchomienia OS; 

  • monitorować obciążenie OS (load average);

  • widzieć rozmiary stron pamięci, umieszczonych w RAM («Mem»);

  • widzieć rozmiary stron pamięci, zapisanych w pliku lub na partycji swap («Swp»);

  • oglądać obciążenie wszystkich procesorów («CPU») lub każdego procesora/jądra z osobna;

  • wykonywać wyszukiwanie po pid (klawisze cyfr) lub po nazwie procesu;

  • przeglądać otwarte przez proces pliki;

  • śledzić wywołania systemowe procesu (analog funkcjonalności narzędzia strace);

  • śledzić wywołania przez proces funkcji bibliotecznych (analog funkcjonalności narzędzia ltrace);

  • przeglądać procesy uruchomione w imieniu jednego użytkownika;

  • może wyświetlać procesy w formie drzewa  (analog funkcjonalności narzędzia pstree);

  • może pokazywać wątki procesów użytkownika i wątki jądra;

  • i wiele więcej.

Więcej o HTOP.

Import i eksport bazy danych

Przenoszenie bazy danych można wykonać za pomocą komend w konsoli.

Import Bazy Danych:

mysql -h nazwa_serwera -u użytkownik_BD -p nazwa_BD < plik_zrzutu_BD

mysql --host="SERWER_BD" --user="LOGIN" --password="HASŁO" "NAZWA_BD" < "PLIK_ZRZUTU.sql"

Eksport (tworzenie kopii zapasowej):

mysqldump  -h nazwa_serwera -u użytkownik_BD -p nazwa_BD > nazwa_pliku

mysqldump --host="SERWER_BD" --user="LOGIN" --password="HASŁO" "NAZWA_BD" > "PLIK_ZRZUTU.sql"

W pierwszym przypadku do bazy danych zostanie załadowana zawartość wskazanego przez Ciebie pliku (w formacie SQL), w drugim odwrotnie — zawartość wskazanej bazy danych zostanie skopiowana do pliku.

***

SSH istnieje od 1995 roku i przez prawie trzydziestoletnią historię tylko się rozwijał, pokazując swoją niezawodność. Umiejętność korzystania z niego nie jest konieczna dla webmastera, ale zrozumienie, jak działa protokół ssh, otwiera wiele dodatkowych możliwości.


Podobał Ci się artykuł? Powiedz o nim znajomym: