ssh-кейген
Разработчик(и) | Проект OpenBSD |
---|---|
Репозиторий | github |
Написано в | С |
Операционная система | Unix , Unix-подобные , Microsoft Windows |
Тип | Команда |
Лицензия | BSD , ISC , общественное достояние |
Веб-сайт | www |
ssh-keygen — это стандартный компонент набора протоколов Secure Shell (SSH), встречающийся в компьютерных системах Unix , Unix-подобных систем и Microsoft Windows, используемый для установления безопасных сеансов оболочки между удаленными компьютерами в незащищенных сетях с помощью различных криптографических методов. Утилита ssh-keygen используется для создания, управления и преобразования ключей аутентификации.
Обзор
[ редактировать ]ssh-keygen способен генерировать ключ, используя один из трех различных алгоритмов цифровой подписи . С помощью инструмента ssh-keygen пользователь может создавать ключи парольной фразы для любого из этих типов ключей. Чтобы обеспечить автоматическую работу, парольную фразу можно оставить пустой, хотя и с повышенным риском. Эти ключи отличаются от ключей, используемых соответствующим инструментом GNU Privacy Guard .
Клиентские и серверные программы на основе OpenSSH включены в Windows 10 , начиная с версии 1803. Клиент SSH и агент ключей включены и доступны по умолчанию, а сервер SSH является дополнительной функцией по требованию. [1] [2]
Поддерживаемые ключевые форматы
[ редактировать ]Пример: ssh-keygen -t rsa
РТФМ [3]
Протокол | -т опция | Дата создания | Статус в 2024 году |
---|---|---|---|
ЮАР | rsa |
1977 | Универсально поддерживается среди SSH-клиентов. |
ДПО | dsa |
1991 | Устарело в 2013 году [4] |
ECDSA | ecdsa |
1999 | Уязвимый [5] |
ЭДДСА | ed25519 |
2005 | Работает быстрее, чем RSA, с ключами значительно меньшего размера. [6] |
Первоначально протокол SSH версии 1 (сейчас устаревший) RSA поддерживал только алгоритм . По состоянию на 2016 год RSA по-прежнему считается надежным, но рекомендуемая длина ключа со временем увеличилась.
В протоколе SSH версии 2 дополнительно появилась поддержка алгоритма DSA . DSA теперь считается слабым и был отключен в OpenSSH 7.0.
Впоследствии OpenSSH добавил поддержку третьего алгоритма цифровой подписи, ECDSA (этот формат ключа больше не использует предыдущий формат файла PEM для закрытых ключей и не зависит от библиотеки OpenSSL для обеспечения криптографической реализации).
Четвертый формат поддерживается с помощью Ed25519 , первоначально разработанного независимым исследователем криптографии Дэниелом Дж. Бернштейном .
Синтаксис команды
[ редактировать ]Синтаксис команды ssh-keygen следующий:
ssh-keygen [options]
Некоторые важные параметры команды ssh-keygen следующие:
параметры команды ssh-keygen | описание |
---|---|
-b биты | Указывает количество битов в создаваемом ключе. Длина по умолчанию — 3072 бита (RSA) или 256 бит (ECDSA). |
-С комментарий | Предоставляет комментарий к пользовательскому ключу (который будет добавлен в конец открытого ключа). |
-К | Импортирует закрытый резидентный ключ с устройства FIDO2. |
-п | Запрашивает изменение парольной фразы файла закрытого ключа вместо создания нового закрытого ключа. |
-т | Указывает тип создаваемого ключа (например, rsa). |
- | Используйте новый формат OpenSSH. |
-q | успокаивает ssh-keygen. Он используется файлом /etc/rc при создании нового ключа. |
-Н | Предоставляет новую парольную фразу. |
-Б | Сохраняет отпечаток ключа в формате Bubble Babble. |
-л | Сохраняет отпечаток ключа в формате SHA-2 (или MD5 ). |
Файлы, используемые утилитой ssh-keygen
[ редактировать ]Утилита ssh-keygen генерирует файлы для хранения открытых и закрытых ключей. Примечание. Они хранятся в $HOME/.ssh/ следующим образом:
Протокол SSH версии 2
[ редактировать ]Алгоритм | Частный | Общественный |
---|---|---|
ЮАР |
id_rsa |
id_rsa.pub |
ДПО |
id_dsa |
id_dsa.pub |
ECDSA |
id_ecdsa |
id_ecdsa.pub |
ed25519 |
id_ed25519 |
id_ed25519.pub |
- $HOME/.ssh/id_dsa: файл $HOME/.ssh/id_dsa содержит идентификатор аутентификации DSA протокола версии 2 пользователя.
- $HOME/.ssh/id_dsa.pub: файл $HOME/.ssh/id_dsa.pub содержит открытый ключ DSA для аутентификации при использовании протокола SSH версии 2. Пользователь должен скопировать его содержимое в файл $HOME/. ssh/authorized_keys удаленной системы, в которой пользователь хочет войти в систему с использованием аутентификации DSA.
- $HOME/.ssh/id_rsa: файл $HOME/.ssh/id_rsa содержит идентификатор аутентификации RSA протокола версии 2 пользователя. Этот файл не должен быть доступен для чтения никому, кроме пользователя.
- $HOME/.ssh/id_rsa.pub: файл $HOME/.ssh/id_rsa.pub содержит открытый ключ RSA протокола версии 2 для аутентификации. Содержимое этого файла следует добавить в $HOME/.ssh/authorized_keys на всех компьютерах, на которых пользователь желает войти в систему с использованием аутентификации с открытым ключом.
Протокол SSH версии 1
[ редактировать ]- $HOME/.ssh/identity: файл $HOME/.ssh/identity содержит закрытый ключ RSA при использовании протокола SSH версии 1.
- $HOME/.ssh/identity.pub: файл $HOME/.ssh/identity.pub содержит открытый ключ RSA для аутентификации при использовании протокола SSH версии 1. Пользователь должен скопировать его содержимое в файл $HOME/. ssh/authorized_keys удаленной системы, в которой пользователь хочет войти в систему с использованием аутентификации RSA.
Ссылки
[ редактировать ]- ^ «Что нового в командной строке в Windows 10 версии 1803» . 8 марта 2018 г.
- ^ «Использование бета-версии OpenSSH в Windows 10 Fall Creators Update и Windows Server 1709» . 15 декабря 2017 г.
- ^ https://man7.org/linux/man-pages/man1/ssh-keygen.1.html .
- ^ https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf .
- ^ https://www.halborn.com/blog/post/how-hackers-can-exploit-weak-ecdsa-signatures
- ^ https://goteleport.com/blog/comparing-ssh-keys/
Внешние ссылки
[ редактировать ]