Yandex
Обновить настройки cookies

SSH и его основные команды

Программисты, системные администраторы, разработчики devops и тестировщики часто находят общий язык благодаря использованию одних и тех же технологий. Например, возможность удаленного доступа к серверу может пригодиться каждому из упомянутых выше профессионалов. Рассмотрим базовые принципы работы с протоколом SSH на простом уровне (без лишних деталей, сложных терминов).
 

Как работает SSH

SSH (Secure SHell - защищенная оболочка) - это средство безопасного доступа к различным системам (Linux, Windows, Mac) через сеть. Был создан с целью замены незашифрованного Telnet. Защищает передаваемую информацию, используя шифрование, и обычно работает на 22-м порту. SSH позволяет удаленно управлять данными пользователя на сервере, выполнять служебные задачи и работать с базами данных через консоль-интерфейс.
 

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

  • По IP-адресу клиента, однако это не самый безопасный способ из-за возможности подмены адреса.
  • По публичному ключу клиента и имени пользователя. Для этого необходимо создать приватный (закрытый) и публичный (открытый) ключ. Используя один ключ для шифрования информации, ее можно расшифровать только другим ключом.
  • По паролю клиента, который передается в зашифрованном виде. Этот метод является одним из наиболее распространенных, однако требует ввода пароля при каждом подключении.
Для доступа через протокол SSH (входа на консоль сервера) из операционной системы Windows необходимо установить специальное программное обеспечение (SSH-клиент), например, бесплатный PuTTY
 

SSH-сервер и SSH-клиент

Для установки SSH-соединения необходимы два основных элемента: SSH-сервер и SSH-клиент. Сервер слушает определенный порт (стандартно это 22) и после успешной аутентификации предоставляет доступ пользователю. Все команды, отправленные через защищенный канал на SSH-сервер с SSH-клиента через терминал, выполняются на сервере, а результат передается обратно клиенту.
 

Выбор из нескольких вариантов

SSH-клиент используется для доступа к удаленному веб серверу и выполнения различных команд. SSH-клиенты доступны для всех операционных систем. Существуют как платные, так и бесплатные варианты.
  • Для Linux/BSD рекомендуется использовать openssh-client, putty, ssh, Vinagre.
  • Пользователям Windows подойдут такие программы, как PuTTY, SecureCRT, ShellGuard. SSH-клиент Windows, построенный на основе OpenSSH, уже установлен в операционных системах Windows с версии 10 1809.
  • На мобильных устройствах на Android можно воспользоваться приложением connectBot.
 

SSH-команды - что это простыми словами

SSH-доступ обычно используется при необходимости аренды выделенного сервера или специализированного хостинга для сайтов, в основном на VIP-тарифе, а также при аренде виртуального сервера.
Давайте представим, что вы живете в Москве, а у клиента из Екатеринбурга "сломался" интернет-магазин, который находится на его сервере. Что же делать в такой ситуации?
Вариантов несколько.
  • Лететь в другой город и решать проблему на месте, но это занимает много времени и сил.
  • Подключиться к серверу удаленно через SSH, через командную строку исправить ошибки, не вставая из удобного кресла в московском бизнес-центре.
SSH работает по безопасному сетевому протоколу, чтобы отправлять команды и данные. Когда вы связываетесь с удаленным сервером или компьютером через SSH, это как будто вы подключаете к нему свою клавиатуру. Вы можете запускать программы, выполнять действия через командную строку удаленно, не выходя из дома.
 

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

  • Настройка серверного оборудования.
  • Программирование.
  • Установка различных CMS: WordPress, Bitrix, OpenCart.
  • Поиск и устранение ошибок на сайте.
  • Запуск и остановка программ.
  • Копирование, вставка и перемещение файлов.
  • Настройка параметров безопасности.
  • Перезагрузка сервера.
  • Удаление файлов.
  • Форматирование жесткого диска.
  • Дистанционный запуск ПО и открытие файлов.
Этот список не исчерпывает все возможности SSH списка команд, но позволяет понять широкий спектр нюансов работы с сервером удаленно.
 

Некоторые базовые команды

  • Команда отображения содержимого каталога -
    lsВыводит список файлов и каталогов на сервере. Вы можете использовать дополнительные опции для получения дополнительной информации:
    lотображает информацию о файлах: размер, дата создания, владелец и разрешения;
    aпозволяет просматривать скрытые файлы на сервере и VPS.
  • Команда создания каталога -
    mkdirЧтобы создать новый каталог, используйте команду
    mkdirуказав имя папки в нижнем регистре. После создания выполните
    lsчтобы убедиться, что новый каталог был успешно создан.
  • Команда смены директории -
    cdПросто введите
    cd  и имя каталога, затем нажмите Enter. Для возврата назад, используйте
    cd ..
  • Команда создания файла -
    touchСоздает новый файл в выбранной директории. Перейдите в нужную папку с помощью
    cdзатем введите
    touch  и имя файла.
  • Команда копирования файла -
    cpУкажите имя исходного файла и нового файла.
  • Команда удаления файла -
    rmУдаляет выбранный файл или каталог.
  • Команда вывода текущего положения -
    pwdОтображает ваше текущее положение в файловой системе.
Этот список не исчерпывает всех возможностей списка команд SSH, но позволяет понять широкий спектр нюансов удаленной работы с сервером.
 

Другие полезные команды

find  - поиска файла,
php --version  - просмотр версии PHP на сервере,
w  - просмотр активных пользователей на сервере в данный момент,
df  - отображение информации о дисках, разбивке и свободном месте,
tar  - извлекает файлы из архива.tar в текущий каталог или, наоборот, архивирует их.
 

Базовые команды управления информацией

  • clear  - отличная команда для очистки сессии терминала от предыдущего вывода, что помогает лучше сосредоточиться на текущей операции.
  • history  - просмотр истории использованных команд. Ее можно использовать для повторного вызова команд или для быстрого поиска предыдущих действий.
  • whatis  - незаменимая команда для получения краткой информации о любом установленном приложении. Просто введите
    whatis  и название приложения.
  • man  + название пакета - отличный способ получить подробную документацию о конкретном установленном приложении. Это позволяет быстро найти информацию о функциях приложения, способах его использования и возможных проблемах.
 

Эффективное управление протоколом SSH

Для удобного подключения к удаленному ПК через SSH рекомендуется использовать две важные опции.
  • ssh -pкоторая позволяет заменить стандартный порт 22 на другой. Это повышает безопасность и защиту от автоматических хакерских атак со стороны ботов.
  • ssh-copy-id -iкоторая копирует ключ на сервер, обеспечивая возможность входа без необходимости ввода логина и пароля, а используя только ключ.
Используйте символы - текстовые пояснения, которые могут быть очень полезными.
  • ;  - используется как разделитель, чтобы выполнить несколько команд подряд.
  • &&  - аналогично, но с важным отличием. Команды, объединенные с помощью &&, будут выполняться поочередно, только если предыдущая завершилась успешно.
  • |  - позволяет запустить две команды одновременно. Это полезно, когда нужно извлечь информацию из приложения и затем найти определенные данные в полученном выводе.
  • ~  - сокращение для /home/имя учетной записи/. Часто встречается в инструкциях.
 

Резюме

Используя SSH-команды вы можете удаленно управлять файлами, настраивать сетевые функции, параметры работы сервера и многое другое. SSH-соединение отличается интуитивным и простым интерфейсом, а также высоким уровнем безопасности при передаче любых данных.
23 Apr 2024, 16:42:44