8 800 301-96-65

Вт-Сб. 10-18 ч. по МСК

Главная Блог компании «Евробайт» Что такое SSH протокол

Что такое SSH протокол

Что такое SSH протокол

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

Технологию используют владельцы сайтов для размещения на хостинге веб-ресурса и подготовки системы для его работы, а также для ограничения к нему доступа посторонних лиц. С SSH не важно, где находится дата-центр: в России или в Европе. Обзор SSH: что это, принципы работы протокола и функции.

Принцип работы SSH

При работе с компьютером пользователи привыкли к графическому интерфейсу, например, к отображению диалоговых окон, кнопок, проводника и прочего. При подключении к удаленному серверу через SSH вы не увидите его рабочий стол. Работать предстоит с командной строкой, имеющей текстовый интерфейс: клиент вводит команду, программа также текстом задает уточняющие вопросы, получает ответное сообщение и выполняет запрашиваемую операцию. Итак, физически вы работаете на своем компьютере, а фактически — через Интернет — на другом. Такие отношения между устройствами имеют архитектуру клиент–серверных.

Что такое SSH протокол. Изображение от Freepik.

Чтобы одно устройство успешно подключилось к другому, на каждом из них должна быть установлена специальная программа. В зависимости от роли устройства на него загружают SSH-клиент или SSH-сервер. Далее процесс подключения проходит в три этапа:

Этап 1. Установка TCP-соединения для удаленного обмена данными.

Этап 2. Создание защищенного канала. Устройства обмениваются информацией о способе шифрования данных.

Этап 3. Аутентификация SSH-клиента. SSH-клиент на компьютере соединяется с SSH-сервером, они обмениваются ключами RSA. Клиент отправляет не только ключ, но и имя пользователя. Сервер проверяет, имеет ли пользователь право на подключение. Убедившись, что он является человеком с доступом, договаривается с ним о методе шифрования. После этого устройства устанавливают защищенный туннель для передачи команд.

Функции SSH

SSH является более современной и безопасной технологией, по сравнению с методами входа в систему telnet и rlogin и небезопасным методом передачи файлов FTP. Функциональность SSH зависит только от возможностей командной строки. С ее помощью можно:

SSH-клиенты: что это

SSH-клиент — это программа на стороне клиента, с помощью которой он осуществляет подключение к удаленной машине. В дистрибутивах Linux, BSD, Мак и Windows 10 / Server 2019 SSH-клиент установлен по умолчанию. Приступить к работе можно сразу после вызова терминала. В нем вводим команду, в которой указываем имя пользователя, IP сервера и номер порта, если используется нестандартный:

ssh username@remote_host -p port

Если соединение с хостингом прошло успешно, и устройства обменялись криптографическими ключами, сервер присылает ответ:

The authenticity of host ‘11.22.33.44 (11.22.33.44)’ can’t be established.
ECDSA key fingerprint is fd: fd: d4:f9:77:fe: 73:84:e1:55:00:ad: d6:6d: 22:fe.
Are you sure you want to continue connecting (yes/no)?

Компьютер, к которому вы подключаетесь, уточняет, действительно ли вы хотите установить с ним соединение. Подтвердив свои намерения, вы выпускаете уникальный «отпечаток пальцев». Если он будет изменен, это будет означать, что кто-то совершил несанкционированное подключение к серверу. Следами взлома могут быть переустановка SSH-сервера или всей операционной системы, а также замена удаленного компьютера.

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

ivan@52.307.149.244's password:

Однако этот способ менее безопасный, поэтому большинство использует ключи доступа: приватный (закрытый) и публичный (открытый). Ключи связаны друг с другом. Расшифровать сообщение, зашифрованное с помощью одного из ключей, невозможно без другого. Как создать пару ключей:

ssh-keygen

Программа попросит уточнить в какую директорию установить ключ:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Если хотите сохранить ключи в обычное место на диске, можете нажать Enter — директорию .ssh/id_rsa в вашей домашней директории.

OpenSSH

Является бесплатным SSH-клиентом, встроенным в дистрибутивы Linux. Можно использовать базовый терминал для подключения к удаленному серверу и управлению им. Не требует установки дополнительных плагинов. Команда для этого:

ssh *имя_пользователя*@*адрес_сервера*

Терминал запросит подтверждение на подключение к серверу.

Asbru Connection Manager

Бесплатный интерфейс для Unix-подобных ОС, позволяющий ускорить решение рутинных повторяющихся задач. Asbru имеет простой алгоритм подключения к VDS и собственный язык для создания скриптов.

MobaXterm

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

PuTTY

Самый популярный SSH-клиент для Windows. Имеет логичный интерфейс и широкий выбор функций, среди которых настройка прокси-серверов и сохранение параметров подключения.

Терминал macOS

MacOS имеет встроенный терминал. Его запуск аналогичен OpenSSH в Linux.

Core Shell

Условно бесплатный SSH-клиент для MacOS, позволяющий подключаться к нескольким хостам для одновременного управления ими. Каждому серверу соответствует своя цветовая гамма, поэтому их сложно перепутать.

Заключение

Мы разобрали влияние протокола Secure Shell на работу пользователя с сервером, к которому у клиента нет физического доступа. Знание протокола — важный навык для системного администратора. Где бы не располагался дата-центр вашего сервера, вы сможете подключиться к нему и настроить его для работы сайта.

Автор: Евробайт

Поделиться

Похожие статьи

DNS-сервер: как выбрать

В мире интернета DNS-серверы (Domain Name System) являются незаметными, но ключевыми элементами, без которых было бы невозможно обеспечить работу глобальной сети в том виде, в каком мы ее знаем.

Прокси-сервер: что это и зачем он нужен

Прокси-сервер — это, простыми словами, компьютер со специальным программным обеспечением, которое позволяет ему посредничать между пользователем (вами) и целевым сервером, т. е. интернет-ресурсом, откуда вы хотите получить информацию.

Что такое аптайм (uptime)

Аптайм (uptime) — это время бесперебойной работы системы, например, сервера или сайта. Он является показателем надежности. Чем он выше, тем меньше рисков связано с использованием системы.

Принцип работы SSH Функции SSH SSH-клиенты: что это OpenSSH Asbru Connection Manager MobaXterm PuTTY Терминал macOS Core Shell Заключение