Типы и форматы ключей SSH
Типы и форматы ключей SSH

Эта статья Впервые опубликовано в 🌱 Сенча, Перепечатка Пожалуйста, укажите источник

Типы и форматы ключей SSH#

в использовании ssh-keygen При использовании команды для генерации пары ключей необходимо учитывать несколько параметров:

Язык кода:javascript
копировать
# Комментарии к паре ключей будут добавлены в конец открытого ключа.
-C comment
             Provides a new comment.
# Длина ключа, подробности см. в описании.
-b bits
             Specifies the number of bits in the key to create.  For RSA keys, the minimum size is 1024 bits and the default is 2048 bits.  Generally, 2048 bits
             is considered sufficient.  DSA keys must be exactly 1024 bits as specified by FIPS 186-2.  For ECDSA keys, the -b flag determines the key length by
             selecting from one of three elliptic curve sizes: 256, 384 or 521 bits.  Attempting to use bit lengths other than these three values for ECDSA keys
             will fail.  Ed25519 keys have a fixed length and the -b flag will be ignored.
# Имя пары ключей, если используется test Затем сгенерируйте test и test.pub Эта пара ключей
-f filename
             Specifies the filename of the key file.
# Тип ключа
-t dsa | ecdsa | ed25519 | rsa | rsa1
             Specifies the type of key to create.  The possible values are “rsa1” for protocol version 1 and “dsa”, “ecdsa”, “ed25519”, or “rsa” for protocol ver‐
             sion 2.
# Ключевой формат
-m key_format
             Specify a key format for the -i (import) or -e (export) conversion options.  The supported key formats are: “RFC4716” (RFC 4716/SSH2 public or pri‐
             vate key), “PKCS8” (PEM PKCS8 public key) or “PEM” (PEM public key).  The default conversion format is “RFC4716”.

Вышеуказанный контент взят из man ssh-keygen,Давайте сосредоточимся на обсуждении типа ключаи Ключевой формат。

SSH пара ключейтип#

Согласно приведенному выше описанию, характеристики и сценарии использования нескольких типов ключей SSH следующие:

тип

описывать

сцена

rsa1

Соответствует алгоритму RSA протокола SSH версии 1. Это алгоритм, основанный на сложной задаче факторизации больших чисел. RSA — широко используемая система шифрования с открытым ключом.

При использовании протокола SSH версии 1,Вы можете выбрать этот вариант. Но нужно обратить внимание,Протокол SSH версии 1 признан небезопасным,Поэтому его использование не рекомендуется.

rsa

Соответствует алгоритму RSA протокола SSH версии 2. Для RSA рекомендуемый размер ключа составляет не менее 2048 бит; лучше 4096 бит. Благодаря значительному прогрессу в методах факторинга RSA становится устаревшим. Рекомендуется выбрать другой алгоритм. Алгоритм RSA может стать действительно взламываемым в обозримом будущем. Все клиенты SSH поддерживают этот алгоритм.

когда нужно со всемиSSHклиент Когда совместимо Вы можете выбрать этот вариант. Но нужно обратить внимание,С развитием технологий,Безопасность этого типа может быть снижена.

dsa

Соответствует алгоритму DSA протокола SSH версии 2. DSA — это алгоритм цифровой подписи правительства США, основанный на решении задачи дискретного логарифма. Размер ключа, обычно используемый с ним, составляет 1024. DSA в его исходной форме больше не рекомендуется.

Не рекомендуется использовать этот тип в новой сцене.,Потому что считается устаревшим.

ecdsa

Соответствует алгоритму ECDSA протокола SSH версии 2. ECDSA — это новый алгоритм цифровой подписи, использующий эллиптические кривые. Поддерживаются только три размера ключей: 256, 384 и 521 (немного странно!) бит. Мы рекомендуем всегда использовать 521 бит, поскольку даже если ключи по-прежнему малы, они могут быть более безопасными, чем ключи меньшего размера (хотя они также должны быть безопасными). Большинство клиентов SSH теперь поддерживают этот алгоритм.

Когда в новой сцене необходимо использовать более безопасный ключ,Вы можете выбрать этот вариант.

ed25519

Соответствует алгоритму ED25519 протокола SSH версии 2. Это новый алгоритм, добавленный в OpenSSH. Клиентская поддержка для него пока не является универсальной. Поэтому его использование в приложениях общего назначения пока может быть нецелесообразным.

В сцене клиентом универсальная поддержка ed25519,Рассмотрите возможность использования этого типа.

Формат#

Далее идет параssh-keygenкомандующий-m key_formatПоддерживается несколько типов параметровтип Интерпретация и применениесцена:

тип

описывать

сцена

RFC4716

Формат RFC4716, соответствующий открытому или закрытому ключу RFC 4716/SSH2. Это формат открытого ключа для SSH2, который используется во многих реализациях SSH, включая OpenSSH.

Этот формат можно выбрать, когда требуется совместимость с SSH2 или взаимодействие с другими системами, использующими этот формат.

PKCS8

Формат PKCS8, соответствующий открытому ключу PEM PKCS8. Это распространенный формат хранения информации о закрытом ключе.

Этот формат выбирается, когда информацию открытого ключа необходимо хранить стандартным и широко распространенным способом.

PEM

Формат PEM, соответствующий открытому ключу PEM. Это старый формат хранения открытых ключей, закрытых ключей и сертификатов, изначально разработанный для шифрования электронной почты.

Вы можете выбрать этот формат, когда вам нужно взаимодействовать со старыми системами, использующими формат PEM.

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

Примечание. В этой работе используется Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Международное лицензионное соглашение Дайте разрешение.

boy illustration
Интерпретация каталога веб-проекта Flask
boy illustration
Что такое подробное объяснение файла WSDL_wsdl
boy illustration
Как запустить большую модель ИИ локально
boy illustration
Подведение итогов десяти самых популярных веб-фреймворков для Go
boy illustration
5 рекомендуемых проектов CMS с открытым исходным кодом на базе .Net Core
boy illustration
Java использует httpclient для отправки запросов HttpPost (отправка формы, загрузка файлов и передача данных Json)
boy illustration
Руководство по развертыванию Nginx в Linux (Centos)
boy illustration
Интервью с Alibaba по Java: можно ли использовать @Transactional и @Async вместе?
boy illustration
Облачный шлюз Spring реализует примеры балансировки нагрузки и проверки входа в систему.
boy illustration
Используйте Nginx для решения междоменных проблем
boy illustration
Произошла ошибка, когда сервер веб-сайта установил соединение с базой данных. WordPress предложил решение проблемы с установкой соединения с базой данных... [Легко понять]
boy illustration
Новый адрес java-библиотеки_16 топовых Java-проектов с открытым исходным кодом, достойных вашего внимания! Обязательно к просмотру новичкам
boy illustration
Лучшие практики Kubernetes для устранения несоответствий часовых поясов внутри контейнеров
boy illustration
Введение в проект удаления водяных знаков из коротких видео на GitHub Douyin_TikTok_Download_API
boy illustration
Весенние аннотации: подробное объяснение @Service!
boy illustration
Пожалуйста, не используйте foreach для пакетной вставки в MyBatis. Для 5000 фрагментов данных потребовалось 14 минут. .
boy illustration
Как создать проект Node.js с помощью npm?
boy illustration
Mybatis-plus использует typeHandler для преобразования объединенных строк String в списки списков.
boy illustration
Не удалось установить программное обеспечение Mitsubishi. Возможно, возникла проблема с реестром.
boy illustration
Разрешение ошибок проекта SpringBoot 3 mybatis-plus: org.apache.ibatis.binding.BindingException: неверный оператор привязки
boy illustration
Более краткая проверка параметров. Для проверки параметров используйте SpringBoot Validation.
boy illustration
Поиграйтесь с интеграцией Spring Boot (платформа запланированных задач Quartz)
boy illustration
Несколько популярных режимов интерфейса API: RESTful, GraphQL, gRPC, WebSocket, Webhook.
boy illustration
Redis: практика публикации (pub) и подписки (sub)
boy illustration
Подробное объяснение пакета Golang Context
boy illustration
Краткое руководство: создайте свое первое приложение .NET Aspire
boy illustration
Краткое обсуждение метода пакетной вставки MyBatis: обработка 100 000 фрагментов данных занимает всего 2 секунды.
boy illustration
[Инструмент] Используйте nvm для управления переключением версий nodejs, это так здорово!
boy illustration
HTML можно преобразовать в word_html для отображения текстовых документов.
boy illustration
Статья Spring Security 6.x для быстрого понимания принципов настройки