SSH и SSH-ключ
Аббревиатура SSH означает Secure Shell, что дословно переводится как «безопасная оболочка». Если говорить точнее, SSH — это защищенный сетевой протокол с проверкой подлинности и шифрованием. Он используется для передачи файлов, управления сетью и удаленного доступа к операционной системе.
По сути SSH это удаленный терминал.
Для защищенного взаимодействия может использоваться SSH ключ.
SSH ключ делится на открытый и закрытый. На узле A создаются и хранятся оба ключа, а на узел B передается только копия публичного SSH-ключа, что позволяет подключаться к узлу B с узла A.
Ключи могут быть сгенерированы с помощью различных алгоритмов, которые поддерживает текущая версия протокола SSH. Например, если использован тип шифрования RSA, то файлы будут именоваться следующим образом:
- id_rsa — закрытый ключ,
- id_rsa.pub — публичный (открытый) ключ.
Открытый (он же публичный) ключ используется для шифрования данных при обращении к удаленному узлу. Проще говоря, это набор символов, при помощи которых мы шифруем информацию. Он доступен всем. Открытый SSH-ключ хранится на удаленном узле.
Закрытый (приватный) SSH-ключ — это ключ к данным. Он расшифровывает сами сообщения. Хранится он на устройстве, которое будет подключаться к удаленному узлу (на котором находится открытый ключ). Приватный ключ ни в коем случае нельзя передавать в чужие руки, в том числе через мессенджеры или файлообменники, во избежание утечки информации и персональных данных. Также рекомендуем сразу установить пароль на закрытый ключ, чтобы обеспечить ему дополнительную защиту.
Механизм работы SSH авторизации
1. Клиент отправляет запрос на подключение к серверу.
2. После согласования версий и алгоритмов сервер отправляет клиенту открытый ключ.
3. Генерируется сеансовый ключ, который будет использоваться для симметричного шифрования канала
4. Клиент отправляет серверу свой открытый ключ.
5. Сервер сверяет его со своим списком открытых SSH-ключей. Если совпадение найдено, сервер генерирует случайное число, шифруем его открытым ключом и отправляет обратно клиенту.
6. Клиент расшифровывает сообщение закрытым ключом и отправляет полученные данные серверу. В случае совпадения присланного числа с первоначальным аутентификация признается успешной.
7. Можно работать
Recommended Posts
jq — инструмент для обработки JSON-данных
28.02.2024