Орендуючи віртуальний хостинг, VDS або виділений сервер, клієнт не приходить у дата-центр, щоб їх адмініструвати – це було б надто складно та незручно. Завдяки протоколу віддаленого підключення він може сидіти вдома за ноутбуком та керувати своїм хостингом. Складно уявити, яким би був інтернет без технології SSH: веб-майстри не створювали б сайти, бізнес не орендував сервери, а інтернет-магазини не стали б настільки популярними, як тепер.
Саме темі SSH-підключення та корисним інструментам роботи з ним присвячена ця стаття. Ви дізнаєтесь, як самостійно підключитися до хостингу та сервера з-під різних операційних систем, а у фіналі ми поділимося з вами корисними командами SSH.
Що таке SSH і як ним користуватися
SSH-протокол — це сценарій безпечного підключення для віддаленого керування сервером. Якщо ви коли-небудь брали в оренду хостинг або VDS, то, скоріш за все, користувалися панеллю управління в клієнтському обліковому записі. Вона могла виглядати, наприклад, так.
Це графічна оболонка, яка полегшує роботу із сервером. Усі програми мають такі візуальні панелі, зокрема й операційні системи. Ми керуємо своїм хостингом або VPS, клікаючи мишкою по кнопках, але під поверхнею зручного інтерфейсу працюють протоколи.
Читайте також: Огляд панелей керування на VPS.
SSH — неграфічна оболонка, найглибший рівень спілкування людини та машини. Така взаємодія може здійснюватися і безпосередньо, за допомогою консолі або терміналу. Вони виглядають як чорний екран, куди слід вводити текстові команди.
Термін перекладається як Secure Shell — безпечна оболонка. Ця технологія була винайдена на зміну стародавньому протоколу TELNET. Він також дозволяв віддалено управляти комп'ютерами, але всі дані передавалися у відкритому вигляді (навіть логіни та паролі). Тому й вигадали безпечний метод, який не тільки шифрує всі дані, а й перевіряє цілісність інформації.
Але постає питання. На хостингу є файловий менеджер, FTP та інші інструменти. Навіщо звичайному клієнту використовувати SSH, вивчати всі ці команди, якщо існують простіші способи?
Цьому кілька причин:
1. Деяким клієнтам зручніше адмініструвати сервер через SSH. Таке управління не набагато складніше роботи з графічними панелями, і для тих, хто вивчив його раніше, немає сенсу переучуватися. Тим більше, у всіх провайдерів різні інтерфейси, а SSH скрізь той самий.
2. Деякі команди запускаються лише через цей протокол. Яким би не був багатим інструментарій в обліковому записі, він не охоплює всіх можливостей. Специфічні або рідко використовувані команди вдасться ввести лише за допомогою SSH.
3. SSH-протокол передачі даних необхідний під час роботи з деякими CMS, наприклад Drupal. Система влаштована так, що частину команд можна ввести лише за допомогою SSH і ніяк інакше.
Читайте також: ТОП-3 CMS для створення інтернет-магазину.
Пряма робота з SSH — це опція для просунутих клієнтів та адміністраторів, що відкриває більш широкі можливості взаємодії із сервером. Знаючи хоча б базові принципи цієї технології, ви краще розумітимете весь процес управління своїм хостингом.
Чим Web SSH відрізняється від звичайного SSH
SSH-з'єднання — це метод, але не інструмент. Щоб підключитися за допомогою сервера, потрібні певні програми.
Але сам процес підключення для новачка доволі складний. Не туди вписав назву сервера, не додав IP-адресу до списку дозволених, начебто залогінився, але поля з паролем не видно.
Щоб допомогти користувачам підключатися в простому режимі, в панелі управління віртуальним хостингом Cityhost ми встановили Web SSH.
Завдяки браузеру та встановленим утилітам на стороні сервера ви можете підключитися по SSH за допомогою лише однієї кнопки.
Що таке VNC та Web VNC
Відкривши панель керування свого віртуального сервера, ви побачите, що в ньому немає опції Web SSH, проте є VNC та Web VNC. Що це?
Web VNC – це також система (протокол) для віддаленого доступу. Однією з її особливостей є те, що комп'ютер/сервер, з якого здійснюється керування, може бути на іншій операційній системі. Протокол працює в обхід SSH, і його зручно використовувати в екстрених випадках — наприклад, якщо клієнт ненароком заблокував собі порт або забув пароль від сервера.
Але VNC не призначений для постійної роботи, це швидше за додатковий інструмент.
Як підключитися через SSH до хостингу чи серверу
Ми трохи розібралися в теорії, а тепер давайте перейдемо до практики та спробуємо підключитись по SSH до різних видів хостингу та з різних операційних систем.
Підключення до віртуального хостингу
Для початку потрібно включити SSH, оскільки він вимкнений за замовчуванням. Перейдіть в розділ «Хостинг 2.0», клікніть на кнопку «Управління» навпроти назви хостингу і перейдіть в розділ SSH.
Тут ви також знайдете кнопку «Управління», після натискання якої система запропонує задати пароль для доступу до SSH. Його можна придумати чи згенерувати автоматично. Після цього доступ до SSH має відкритися протягом 15 хвилин.
Як тільки це станеться, з'явиться додаткова опція «Web SSH: Відкрити» . Клікніть на неї. Більше нічого не потрібно робити – перед вами вже відкрився термінал для віддаленого керування і можна вводити команди.
Важливо пам'ятати, що через Web SSH можна підключатись тільки до віртуального хостингу. Якщо у вас сервер, знадобляться інші способи.
Підключення до VDS та виділеного сервера
Якщо на ПК клієнта встановлений Linux або Mac OS, все дуже просто — вони мають вбудовані термінали. З Windows все трохи складніше, потрібно буде ставити спеціальні утиліти (хоча Windows10 вже має вбудований SSH-клієнт).
Спочатку випробуємо SSH-підключення до сервера за допомогою терміналу.
У Linux він відкривається за допомогою комбінації клавіш Ctrl+Alt+T. Для Mac OS потрібно набрати на клавіатурі Command + Space і вбити в рядок слово «Термінал» — пошуковик видає цей інструмент вгорі списку.
Відкривши термінал, потрібно ввести команду ssh login@servername, де вводиться логін від сервера, отриманий від провайдера електронною поштою, а servername — це IP-адреса сервера (він є в основній інформації на панелі клієнта).
Потім система запросить пароль від сервера, і вже після цього клієнт зможе керувати SSH.
Так, наприклад, виглядає процес підключення до сервера під Linux Ubuntu.
Найпоширеніша утиліта для підключення SSH з-під Windows називається PuTTY.
Якщо у вас є Windows 10, то SSH-клієнт вже вбудований. Він не завжди включений, тому іноді потрібне його підключення. Для цього потрібно активувати «Режим розробника» у розділі «Оновлення та безпека», а потім знайти «Керування додатковими компонентами» (можна просто вбити у пошук). Там є розділ «Додати компонент», де підключається «OpenSSH Client».
Ми розповіли основні кроки, які знадобляться для підключення до свого сервера з допомогою захищеного протоколу. Залежно від комп'ютера, сервера або правил провайдера в підключенні можуть бути відмінності. Але в будь-якій ситуації ви можете проконсультуватися співробітниками техпідтримки, вони завжди раді допомогти.
Що ж, ви підключилися. Що далі? Ми розповімо про кілька можливостей SSH-підключення, які можна навчитися використовувати, навіть якщо ви адміністратор-початківець.
Базові команди SSH
ls — Показати вміст каталогу (список назв файлів)
cd — Змінити каталог
mkdir — Створити нову папку (каталог)
touch — Створити новий файл
rm — Видалити файл
cat — Показати вміст файлу
pwd — Показати поточний каталог (повний шлях до цього каталогу)
cp — Копіювати файл/папку
mv — Перемістити файл/папку
grep — Пошук конкретної фрази у файлі
find — Пошук файлів та папок
vi/nano — Текстові редактори
history — Показати 50 останніх використаних команд
kill — Завершує один процес (вказується за допомогою PID-коду)
killall — Відрізняється від kill тим, що може «вбити» програму, навіть не знаючи її PID. Все, що потрібно killall — це назва_утиліти
rsync — Синхронізує файли між двома або більше хостами
wget — Завантажує файл із переданого посилання
zip — Архівує один або кілька файлів в один файл у форматі .zip
unzip — Розархівує архів
df -h — Відображає кількість вільного простору на жорсткому диску
Midnight Commander
У консолі є встановлений файловий менеджер Midnight Commander. Він зручний для роботи та може виконувати багато операцій.
Запустити його можна через команду:
mc
Можливості Midnight Commander
-
Робота з різними архівами і образами файлових систем так, ніби вони є звичайними каталогами.
-
Робота із мережевими файловими системами Samba, FTP, SFTP.
-
Виконує операції копіювання та переміщення файлів у фоновому режимі.
-
Вбудований текстовий редактор із підсвічуванням синтаксису.
-
Текстовий режим, заснований на бібліотеках ncurses та S-Lang. Це дозволяє програмі працювати як у консолі, так і в різних емуляторах терміналу, а також через віддалені з'єднання, наприклад, протоколу SSH. Підтримує мишу.
-
Підтримка багатомовного інтерфейсу.
-
Підтримка кодування UTF-8.
Midnight Commander включає текстовий редактор, який може запускатися як зсередини, так і окремо, з командного рядка.
Моніторинг навантаження на сервер
Відслідковувати навантаження допоможе команда htop. Це програма, призначена для виведення на термінал списку запущених процесів та інформації про них (монітор процесів). Створено як альтернативу програми top.
Запускається прописуванням команди:
htop
Що можна робити за допомогою htop
-
дізнаватись час, що минув з моменту запуску ОС;
-
моніторити завантаженість ОС (load average);
-
бачити розміри сторінок пам'яті, які розміщені в ОЗУ («Mem»);
-
бачити розміри сторінок пам'яті, збережених у файл або розділ підкачки («Swp»);
-
дивитися навантаженість всіх процесорів («CPU») або кожного процесора/ядра окремо;
-
виконувати пошук по pid (клавіші цифр) або по імені процесу;
-
переглядати відкриті процесом файли;
-
стежити за системними викликами процесу (аналог функціональності утиліти strace);
-
стежити за викликами процесом бібліотечних функцій (аналог функціональності утиліти ltrace);
-
переглядати процеси, запущені від імені користувача;
-
може виводити процеси у вигляді дерева (аналог функціональності утиліти pstree);
-
може показувати потоки процесів користувача та потоки ядра;
-
і багато іншого.
Докладніше про HTOP.
Імпорт та експорт бази даних
Переміщення бази даних можна виконати за допомогою команд консолі.
Імпорт БД:
mysql -h назва сервера -u користувач_БД -p ім'я_БД < файл_дампу_БД
mysql --host="СЕРВЕР_БД" --user="ЛОГІН" --password="ПАРОЛЬ" "НАЗВА_БД" < "ФАЙЛ_ДАМПУ.sql"
Експорт (створення бекапу):
mysqldump -h назва сервера -u користувач_БД -p ім’я_БД > ім’я_файлу
mysqldump --host="СЕРВЕР_БД" --user="ЛОГІН" --password="ПАРОЛЬ" "НАЗВА_БД" > "ФАЙЛ_ДАМПУ.sql"
У першому випадку в БД буде завантажено вміст вказаного вами файлу (у SQL-форматі), у другому навпаки – вміст вказаної бази даних буде скопійовано у файл.
***
SSH існує з 1995 року і за майже тридцятилітню історію лише вдосконалювався, демонструючи свою надійність. Вміти ним користуватися не обов'язково для веб-майстра, але розуміння того, як працює SSH-протокол, відкриває багато додаткових можливостей.