CityHost.UA
Помощь и поддержка

Что такое SSH и основные способы работы с ним: Web SSH, Midnight Commander, PuTTy, терминал

 8438
16.02.2022
article

 

 

Арендуя виртуальный хостинг, 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-протокол, открывает много дополнительных возможностей.


Понравилась статья? Расскажите о ней друзьям: