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-подключения может осуществляется соединение не только с сервером но и с ноутбуком или компьютером.
Читайте также: Выбор и настройка DNS-серверов для доменного имени
Обмен ключами для безопасного подключения
После того как SSH-клиент запущен:
- Сервер направляет список протоколов шифрования клиенту.
- Если клиент также работает с этими протоколами, то создается надежное соединение, которое практически невозможно взломать.
- Стороны подключения получают ключ с помощью, которого происходит дешифрование и шифрование команд.
Если процесс происходит успешно, во время первого сеанса сервер попросит подтверждения. Для подтверждения соединения нужно ввести 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
- 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 команд возможно легко и что немаловажно безопасно передать любые виды данных.