SSH был разработан в 1995 году для гарантирования стабильного соединения с удаленными серверами. Сейчас эта технология более всего задействована для работы с выделенными серверами, VPS и VDS. Данная технология характеризуется высоким уровнем безопасности из-за криптографических методов защиты.

Для дистанционного администрирования и управления используются определенные команды и SSH-клиенты о которых мы детально поговорим в статье.

Основные SSH-команды простым языком

Для лучшего понимания давайте рассмотрим простой пример. Вы и ваш заказчик живете в разных странах, и у клиента “полетел” вебсайт на локальном сервере. В такой ситуации, вам нужно мгновенно покупать билет и вылететь ближайшим рейсом для решения проблемы.

Но есть и другой, более комфортный вариант. Вы можете подключиться к локальному серверу через SSH и устранить проблему отдаленно. Все команды выполняются по защищенному SSH-протоколу.

Какие задачи можно выполнять через SSH

  • программирование;
  • остановка и запуск ПО;
  • различные манипуляции с файлами;
  • перезагрузка сервера;
  • настройка серверного оборудования;
  • установка CMS;
  • исправление ошибок на сайте;
  • настройки параметров безопасности
  • запуск файлов;
  • форматирование дисков и удаление файлов.

Список перечисленных задач не полный и еще есть много других вариантов использования SSH.

 

Это интересно: Как перенести сайт на MODX на новый хостинг без потерь

 

Подключение и работа в SSH: краткое руководство

Подключение и взаимодействие с SSH имеет несколько простых этапов, потому давайте детально их рассмотрим.

 

Запуск SSH-клиента на разных системах

Во многих Unix-системах Terminal или SSH-клиент присутствует по умолчанию и его не нужно устанавливать. Для запуска нажмите сочетание клавиш Ctrl+Alt+T.

Для подключения к серверу введите:

ssh name@11.33.55.77

В этой команде вам нужно заменить 11.33.55.77 на IP нужного сервера, и вместо name ввести имя суперпользователя, чаще всего используется root, но у вас может быть другое.

Для подключения по SSH-протоколу по умолчанию используется порт 22. Для гарантирования дополнительного уровня безопасности эти настройки порта можно изменить, используя следующую команду:

ssh -p port_number user_name@server_IP

Пользователи Windows могут использовать PuTTY, так как SSH-клиента для этой ОС нет. Данный вариант для Windows характеризуется простотой в настройках.

 

Подключение в SSH

 

Установление соединения по SSH

Алгоритм установки соединения имеет следующие шаги:

  • SSH-клиент запрашивает подключение.
  • Осуществляется процесс взаимной идентификации.
  • Создается канал для отправки команд.

В рамках SSH-подключения может осуществляется соединение не только с сервером но и с ноутбуком или компьютером.

 

Читайте также: Выбор и настройка DNS-серверов для доменного имени

 

Обмен ключами для безопасного подключения

После того как SSH-клиент запущен:

  1. Сервер направляет список протоколов шифрования клиенту.
  2. Если клиент также работает с этими протоколами, то создается надежное соединение, которое практически невозможно взломать.
  3. Стороны подключения получают ключ с помощью, которого происходит дешифрование и шифрование команд.

Если процесс происходит успешно, во время первого сеанса сервер попросит подтверждения. Для подтверждения соединения нужно ввести yes.

Можно также скопировать ключ на сервер и подключаться без логина/пароля. Для этого нужно будет ввести команду:

ssh-copy-id -i путь_до_ключа root@server_IP

 

Работа с Root-доступом

По умолчанию root-доступ разрешен, но это очень небезопасно для системы потому рекомендуется раскомментировать строку:

PermitRootLogin no

Далее нужно разрешить доступ некоторым юзерам для этого нужно использовать следующую команду:

AllowUsers User1

Полезные SSH-команды и основы работы в терминале

Для комфортной работы с SSH-протоколом нужно разбираться в основах работы и некоторых базовых командах.

 

Горячие клавиши и специальные символы в консоли

При подключении к серверу через SSH у вас не будет доступа к стандартному графическому интерфейсу. Для работы с SSH используется командная строка. Для взаимодействия нужно вводить определенные текстовые команды, кроме команд можно использовать следующие символы:

  • ; – необходима для разделения и использования нескольких команд одновременно.
  • && – это тоже команда разделитель но ее особенность в том что команды осуществляются последовательно, и если первая не завершена успешно следующая не будет начата.
  • l – одновременный запуск 2 различных команд.
  • ~ – используется чтобы не прописывать /home/имя_учетной_записи/.

Значительно упростить работу можно используя горячие клавиши:

  • Ctrl+U – удаление строки.
  • Ctrl+C – остановка запущенного процесса.
  • Ctrl+W – удаление слова в строке.
  • Ctrl+Shift+C –  копировать.

И многие другие сочетания клавиш, помогут ускорить некоторые момент в работе с SSH.

 

Базовые команды для работы в SSH

К базовым командам относятся следующие:

  • sudo – если команду нужно осуществлять с правами админа то нужно использовать sudo.
  • Is – отображает все директории и файлы. Для отображения содержимого можно и не переходить в нужную папку, а просто указать к ней путь.
  • cd – переход в нужную папку.
  • mkdir – создание новой папки.
  • clear – удаляет из сессии всю историю.
  • find – поиск папок и файлов по названию или типу. К примеру, можно найти папку adminvps.
  • history – по умолчанию история показывает 10 последних инструментов но это значение можно изменить на любое другое.
  • mv – используется для перемещения или для переименования файлов.
  • rm – удаление папок и содержимого без возможности их восстановить.
  • cp – используется для создания копии файла в конкретном каталоге.

 

SSH-команды и основы работы в терминале

 

Управление файлами и каталогами через SSH

  • pwd – отображает путь к текущей папке.
  • df – отображает объем свободного пространства на сервере.
  • fsck-y – автопроверка и дальнейшее исправление ошибок в файловой системе.
  • touch – создание файла в конкретной директории с определенным форматом.
  • du-sh – показывает сколько занимает текущая папка со всеми ее подпапками.
  • du-sh* – отображает место, которое занимает конкретный файл в папке.
  • ls -lia – показывается все содержимое каталога с указанием размера папок и файлов в алфавитном порядке.
  • cd / && du -hs * – поиск директории с самым большим количеством файлов.

 

Архивирование и разархивирование файлов

  • gzip adminvps.txt – данная команда нужна для сжатия документа.
  • tar xf folder.tar – распаковка архива.
  • tar cf folder.tar adminvps.txt – создание архива с конкретно указанным файлом.
  • tar czf folder.tar.gz adminvps.txt – создание архива используя Gzip сжатие.
  • Unzip – распаковка архива.

 

Контроль и управление запущенными процессами

  • top – показывает все запущенные процессы, их нагрузку на процессор, время работы и тому подобное.
  • ps-e – показывает все активные процессы на данный момент.
  • bg – показывает список фоновых и остановленных задач.
  • killall – завершение процесса по названию.
  • kill PID – завершение процесса с PID-кодом.
  • fg – список последних задач.

 

Получение системной информации через SSH

  • vmstat – используется для мониторинга состояния сервера и показывает информацию о загрузке процессора, памяти, и тому подобное.
  • shutdown -r или reboot – эти 2 команды используются для перезагрузки сервера.
  • uptime – отображает время беспрерывного функционирования сервера.
  • free – информация касательно оперативной памяти.
  • cal – календарь.
  • data –  дата.

Работа с сетевыми настройками через SSH

  • ifconfig eth1 up – команда используется для включения eth1 интерфейса. Если заменить up на down, то команда отключает этот интерфейс.
  • ifconfig – команда для отображения текущего интерфейса.
  • ifconfig -a – открывает весь список интерфейсов.
  • wgеt ссылка – команда скачивает файл с нужной ссылки, их можно указывать несколько.
  • wgеt -c ссылка – продолжает скачивание, которое было остановлено.

 

Команды для управления правами доступа

  • chmod – команда используется для изменения прав доступа.
  • chown – назначение владельца для файлов и папок.

Выводы

SSH соединения – это хороший вариант для работы с удаленными файлами, настройками, и работа с параметрами на сервере. С помощью SSH команд возможно легко и что немаловажно безопасно передать любые виды данных.