SSH и его основные команды
Программисты, системные администраторы, разработчики devops и тестировщики часто находят общий язык благодаря использованию одних и тех же технологий. Например, возможность удаленного доступа к серверу может пригодиться каждому из упомянутых выше профессионалов. Рассмотрим базовые принципы работы с протоколом SSH на простом уровне (без лишних деталей, сложных терминов).Как работает SSH
SSH (Secure SHell - защищенная оболочка) - это средство безопасного доступа к различным системам (Linux, Windows, Mac) через сеть. Был создан с целью замены незашифрованного Telnet. Защищает передаваемую информацию, используя шифрование, и обычно работает на 22-м порту. SSH позволяет удаленно управлять данными пользователя на сервере, выполнять служебные задачи и работать с базами данных через консоль-интерфейс.Какие методы проверки подключения использует SSH
- По IP-адресу клиента, однако это не самый безопасный способ из-за возможности подмены адреса.
- По публичному ключу клиента и имени пользователя. Для этого необходимо создать приватный (закрытый) и публичный (открытый) ключ. Используя один ключ для шифрования информации, ее можно расшифровать только другим ключом.
- По паролю клиента, который передается в зашифрованном виде. Этот метод является одним из наиболее распространенных, однако требует ввода пароля при каждом подключении.
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
- Настройка серверного оборудования.
- Программирование.
- Установка различных CMS: WordPress, Bitrix, OpenCart.
- Поиск и устранение ошибок на сайте.
- Запуск и остановка программ.
- Копирование, вставка и перемещение файлов.
- Настройка параметров безопасности.
- Перезагрузка сервера.
- Удаление файлов.
- Форматирование жесткого диска.
- Дистанционный запуск ПО и открытие файлов.
Некоторые базовые команды
- Команда отображения содержимого каталога -
ls
Выводит список файлов и каталогов на сервере. Вы можете использовать дополнительные опции для получения дополнительной информации:
l
отображает информацию о файлах: размер, дата создания, владелец и разрешения;
a
позволяет просматривать скрытые файлы на сервере и VPS. - Команда создания каталога -
mkdir
Чтобы создать новый каталог, используйте команду
mkdir
указав имя папки в нижнем регистре. После создания выполните
ls
чтобы убедиться, что новый каталог был успешно создан. - Команда смены директории -
cd
Просто введите
cd
и имя каталога, затем нажмите Enter. Для возврата назад, используйте
cd ..
- Команда создания файла -
touch
Создает новый файл в выбранной директории. Перейдите в нужную папку с помощью
cd
затем введите
touch
и имя файла. - Команда копирования файла -
cp
Укажите имя исходного файла и нового файла. - Команда удаления файла -
rm
Удаляет выбранный файл или каталог. - Команда вывода текущего положения -
pwd
Отображает ваше текущее положение в файловой системе.
Другие полезные команды
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