Что такое 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.

Подключение к серверу на ОС Linux

Наиболее распространенным 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 предоставляет больше возможностей для администрирования сервера, автоматизации задач и управления системой через командную строку.