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.









