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