Набор протоколов, обнаруженный в компьютерных системах Unix, Unix-подобных системах и системах Microsoft Windows, используемых
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
RTFM [3]
Первоначально, с протоколом SSH версии 1 (теперь устаревшим) поддерживался только алгоритм RSA . По состоянию на 2016 год RSA по-прежнему считается сильным, но рекомендуемая длина ключа со временем увеличилась.
В протоколе SSH версии 2 дополнительно введена поддержка алгоритма DSA . DSA теперь считается слабым и был отключен в OpenSSH 7.0.
Впоследствии в OpenSSH была добавлена поддержка третьего алгоритма цифровой подписи, ECDSA (этот формат ключа больше не использует предыдущий формат файла PEM для закрытых ключей и не зависит от библиотеки OpenSSL для обеспечения криптографической реализации).
Четвертый формат поддерживается с помощью Ed25519 , первоначально разработанного независимым исследователем криптографии Дэниелом Дж. Бернстайном .
Синтаксис команды
Синтаксис команды ssh-keygen следующий:
ssh-keygen [опции]
Ниже приведены некоторые важные параметры команды ssh-keygen:
Файлы, используемые утилитой ssh-keygen
Утилита ssh-keygen генерирует файлы для хранения открытых и закрытых ключей. Примечание: они хранятся в $HOME/.ssh/ следующим образом:
Протокол SSH версии 2
- $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 Beta в Windows 10 Fall Creators Update и Windows Server 1709». 15 декабря 2017 г.
- ^ "SSH-keygen(1) - Страница руководства Linux".
- ^ https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf [ пустой URL-адрес PDF ]
- ^ «Как хакеры могут использовать слабые подписи ECDSA». 26 июля 2021 г.
- ^ «Сравнение ключей SSH — RSA, DSA, ECDSA или EdDSA?».
Внешние ссылки
В Wikibook OpenSSH есть страница по теме: ssh-keygen
- Генерация ключа SSH, руководство от GitHub
- Руководство по ssh-keygen из проекта OpenBSD
- Страница руководства Linux с die.net
- Генерация пары ключей SSH на Linux и Mac с ifixlinux.com