ssh-keygen - это стандартный компонент набора протоколов Secure Shell (SSH), присутствующий в компьютерных системах Unix , Unix-подобных и Microsoft Windows, используемых для установления безопасных сеансов оболочки между удаленными компьютерами в незащищенных сетях с использованием различных методов шифрования . Утилита ssh-keygen используется для генерации, управления и преобразования ключей аутентификации.
Разработчики) | OpenBSD Project |
---|---|
Репозиторий | github |
Написано в | C |
Операционная система | Unix , Unix-подобный , Microsoft Windows |
Тип | Командование |
Лицензия | BSD , ISC , общественное достояние |
Веб-сайт | www |
Обзор
ssh-keygen может генерировать ключ, используя один из трех различных алгоритмов цифровой подписи . С помощью инструмента ssh-keygen пользователь может создавать ключи парольной фразы для любого из этих типов ключей. Чтобы обеспечить автоматическую работу, парольную фразу можно оставить пустой, хотя и с повышенным риском. Эти ключи отличаются от ключей, используемых соответствующим инструментом GNU Privacy Guard .
Клиентские и серверные программы на основе OpenSSH включены в Windows 10 с версии 1803. Клиент SSH и ключевой агент включены и доступны по умолчанию, а сервер SSH является дополнительной функцией по запросу. [1] [2]
Поддерживаемые ключевые форматы
Протокол | Поколение |
---|---|
ЮАР | 1 |
DSA | 2 |
ECDSA | 3 |
ed25519 | 4 |
Первоначально с протоколом SSH версии 1 (теперь устаревшим) поддерживался только алгоритм RSA . По состоянию на 2016 год RSA по-прежнему считается сильным, но рекомендуемая длина ключа со временем увеличивалась.
Версия 2 протокола SSH дополнительно ввела поддержку алгоритма DSA . DSA теперь считается слабым и был отключен в OpenSSH 7.0.
Впоследствии OpenSSH добавил поддержку третьего алгоритма цифровой подписи, ECDSA (этот формат ключа больше не использует предыдущий формат файла PEM для закрытых ключей и не зависит от библиотеки OpenSSL для обеспечения криптографической реализации).
Четвертый формат поддерживается с использованием ed25519 , первоначально разработанного независимым исследователем криптографии Дэниелом Дж. Бернстайном .
Синтаксис команды
Синтаксис команды ssh-keygen следующий:
ssh-keygen [параметры]
Вот некоторые важные параметры команды ssh-keygen:
Параметры команды ssh-keygen | описание |
---|---|
-b биты | Задает количество бит в создаваемом ключе. Длина по умолчанию составляет 3072 бит (RSA) или 256 бит (ECDSA). |
-C комментарий | Предоставляет комментарий для настраиваемого ключа (который будет добавлен в конце открытого ключа). |
-п | Запрашивает изменение парольной фразы файла закрытого ключа вместо создания нового закрытого ключа. |
-t | Задает тип создаваемого ключа (например, rsa). |
-о | Используйте новый формат OpenSSH. |
-q | успокаивает ssh-keygen. Он используется файлом / etc / rc при создании нового ключа. |
-N | Предоставляет новую парольную фразу. |
-B | Сохраняет отпечаток ключа в формате Bubble Babble. |
-l | Сохраняет отпечаток ключа в формате SHA-2 (или MD5 ). |
Файлы, используемые утилитой ssh-keygen
Утилита ssh-keygen использует различные файлы для хранения открытых и закрытых ключей. Утилита ssh-keygen использует следующие файлы:
- $ 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.
- $ 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 , руководство от GitHub
- ssh-keygen manual из проекта OpenBSD
- Справочная страница Linux с сайта die.net