Що таке SSH та основні способи роботи з ним

Що таке SSH та основні способи роботи з ним

SSH (Secure Shell) — це протокол для безпечного віддаленого підключення до сервера та керування ним через командний рядок. Після оренди сервера — VPS/VDS або виділеного — саме SSH часто стає основним інструментом адміністрування системи. У цій статті розглянемо, як працює SSH-підключення, як підключитися до сервера з Windows, macOS або Linux, а також які інструменти можуть спростити роботу з SSH: PuTTY, Midnight Commander та стандартний термінал.

Що таке SSH і для чого він потрібен

SSH (Secure Shell, «безпечна оболонка») — це мережевий протокол, який використовується для віддаленого керування серверами та іншими пристроями. Він дозволяє безпечно передавати команди й дані через зашифроване з’єднання.

SSH був створений як безпечніша альтернатива протоколу Telnet, який передавав дані у відкритому вигляді, включаючи логіни та паролі. На відміну від Telnet, SSH використовує шифрування та механізми перевірки цілісності даних, що значно підвищує безпеку з’єднання.

Під час оренди VPS/VDS або виділеного сервера користувач зазвичай отримує доступ до панелі керування чи веб-інтерфейсу. Однак багато адміністративних задач виконуються саме через SSH — особливо коли потрібен повний контроль над системою або доступ до функцій, яких немає в графічному інтерфейсі.

SSH використовують з кількох причин:

  • Швидке адміністрування. Через командний рядок багато дій виконуються швидше, ніж через веб-інтерфейс, особливо при регулярній роботі з сервером.
  • Розширені можливості керування. Частина системних утиліт, служб і налаштувань доступна лише через консоль.
  • Робота з фреймворками та CMS. Деякі інструменти для розробки й адміністрування сайтів (наприклад Composer, Drush або WP-CLI) працюють через SSH.

Навіть базове розуміння SSH значно спрощує роботу з сервером, дає більше контролю над системою та дозволяє швидше виконувати адміністративні задачі.

Читайте також: WordPress: як уберегти ваш сайт та уникнути вразливостей відкритого коду

Відмінності між Web SSH та VNC для віддаленого доступу

SSH — це протокол віддаленого доступу, а не окрема програма. Для підключення до сервера через SSH зазвичай використовують спеціальні клієнти, наприклад PuTTY, OpenSSH або стандартний термінал у Linux і macOS. Також користувачу потрібно знати адресу сервера, логін, пароль або SSH-ключі та базові команди для роботи в консолі.

Для новачків таке підключення може бути не надто зручним: помилка в адресі сервера, неправильні параметри доступу або мережеві обмеження можуть завадити встановленню з’єднання.

Саме тому багато хостинг-провайдерів пропонують Web SSH — браузерний доступ до SSH-консолі без встановлення додаткових програм. У такому випадку підключення до сервера виконується через веб-інтерфейс панелі керування, а користувач отримує доступ до консолі прямо у браузері.

Окрім Web SSH, у панелях керування VPS/VDS часто доступні VNC або Web VNC. На відміну від SSH, VNC забезпечує не доступ до командного рядка, а повноцінне віддалене керування графічним інтерфейсом сервера — фактично так, ніби ви працюєте за ним безпосередньо.

Web VNC працює аналогічно, але відкривається прямо у браузері без потреби встановлювати окремий VNC-клієнт.

Панель керування сервером та використовування VNC

Web VNC — це технологія віддаленого доступу, яка дозволяє керувати комп’ютером або сервером через графічний інтерфейс. Однією з особливостей Web VNC є можливість підключення через браузер без встановлення окремого VNC-клієнта. Такий доступ працює незалежно від SSH і може бути корисним у випадках, коли виникають проблеми з доступом до сервера.

Наприклад, якщо користувач випадково заблокував SSH-доступ, неправильно налаштував мережеві параметри або втратив доступ до облікових даних, Web VNC дозволяє отримати доступ до сервера та виправити налаштування.

Водночас VNC і Web VNC на серверах зазвичай використовують не для постійного адміністрування, а для аварійного доступу, діагностики або первинного налаштування системи у випадках, коли SSH недоступний.

Як здійснити SSH-підключення до VDS або виділеного сервера

Якщо на комп’ютері встановлено Linux або macOS, підключитися через SSH досить просто, оскільки ці операційні системи вже мають вбудований термінал із підтримкою SSH. У Windows ситуація раніше була складнішою, однак у Windows 10 і новіших версіях також є вбудований SSH-клієнт.

Розглянемо, як виконати SSH-підключення до сервера через термінал.

У Linux термінал можна відкрити комбінацією клавіш Ctrl + Alt + T. У macOS для цього натисніть Command + Space та введіть у пошуку слово «Термінал».

Після відкриття термінала введіть команду:

ssh login@servername

де login — це логін користувача сервера, а servername — IP-адреса або доменне ім’я сервера. Ці дані зазвичай надсилаються хостинг-провайдером після активації послуги та доступні в панелі керування.

Після виконання команди система запропонує ввести пароль. Якщо дані вказані правильно, буде встановлено SSH-з’єднання, і ви отримаєте доступ до керування сервером через консоль.

Наприклад, так виглядає процес підключення до сервера в Linux Ubuntu.

Підключення до сервера на ОС Linus

Найпоширенішим SSH-клієнтом для Windows тривалий час залишався PuTTY.

У Windows 10 і новіших версіях SSH-клієнт OpenSSH зазвичай уже вбудований у систему, однак у деяких випадках його потрібно додатково активувати. Для цього відкрийте розділ «Додаткові компоненти» у параметрах Windows та переконайтеся, що компонент OpenSSH Client встановлений.

Ми розглянули базові кроки для SSH-підключення до сервера за допомогою цього протоколу. Залежно від операційної системи, конфігурації сервера та налаштувань доступу процедура підключення може дещо відрізнятися. Якщо виникають труднощі, варто звернутися до служби підтримки хостинг-провайдера.

Після успішного підключення через SSH користувач отримує доступ до широкого набору інструментів для адміністрування сервера. Далі розглянемо базові можливості роботи через SSH, які будуть корисними навіть для новачків.

Базові команди SSH

Після підключення через SSH користувач отримує доступ до командного рядка сервера. Для роботи з файлами, каталогами та процесами використовують стандартні Linux-команди. Ось деякі з базових команд SSH:

  • ls — показує вміст поточного каталогу.
  • cd — використовується для переходу між каталогами. Наприклад: cd foldername.
  • mkdir — створює новий каталог. Наприклад: mkdir foldername.
  • touch — створює новий файл. Наприклад: touch filename.
  • rm — видаляє файли та каталоги.
  • cat — виводить вміст файлу у консоль.
  • pwd — показує повний шлях до поточного каталогу.
  • cp — копіює файли та каталоги.
  • mv — переміщує або перейменовує файли й каталоги.
  • grep — виконує пошук тексту у файлах. Наприклад: grep "phrase" filename.
  • find — шукає файли та каталоги за заданими параметрами.
  • vi / nano — текстові редактори для роботи з файлами через консоль.
  • history — показує історію виконаних команд.
  • kill — завершує процес за його PID.
  • killall — завершує процеси за назвою.
  • rsync — використовується для копіювання та синхронізації файлів і каталогів.
  • wget — завантажує файли за URL-адресою.
  • zip та unzip — створюють і розпаковують ZIP-архіви.
  • df -h — показує інформацію про використання дискового простору.

Ці команди допомагають виконувати базове адміністрування сервера, працювати з файлами, переглядати системну інформацію та керувати процесами через SSH.

Midnight Commander

Midnight Commander (mc) — це консольний файловий менеджер для Linux та Unix-подібних систем, який спрощує роботу з файлами та каталогами через термінал.

Основні можливості Midnight Commander:

  • робота з архівами та мережевими файловими системами (Samba, FTP, SFTP);
  • копіювання й переміщення файлів у фоновому режимі;
  • вбудований текстовий редактор із підсвічуванням синтаксису;
  • підтримка роботи через SSH та інших віддалених з’єднань;
  • підтримка миші, UTF-8 і багатомовного інтерфейсу.

Після підключення до сервера через SSH введіть у терміналі команду: mc

Midnight Commander доступ до серверу за допомогою команди mc

Моніторинг навантаження на сервер

Для моніторингу стану сервера та активних процесів часто використовують утиліту htop. Вона дозволяє в реальному часі переглядати інформацію про використання ресурсів системи.

Основні можливості htop:

  • перегляд часу роботи системи;
  • моніторинг навантаження на сервер (load average);
  • контроль використання процесора та оперативної пам’яті;
  • пошук процесів за PID або назвою;
  • перегляд деревоподібної структури процесів;
  • керування процесами безпосередньо з інтерфейсу утиліти.

Після підключення до сервера через SSH запустити htop можна командою: htop

Спостереження за навантаженням на віртуальний сервер за допомогою команди htop

Імпорт та експорт бази даних

Для імпорту та експорту баз даних MySQL через SSH можна використовувати такі команди.

Імпорт бази даних:

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

Експорт бази даних (створення резервної копії):

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

Ці команди дозволяють швидко переносити бази даних, створювати резервні копії та відновлювати дані без використання веб-інтерфейсу.

Робота через SSH надає більше можливостей для адміністрування сервера, автоматизації задач і керування системою через командний рядок.