ECDSA ssh ключ на 10.8.2

11

Я использовал ssh-keygen -t ecdsaдля генерации ключа ECDSA, но я получил ошибку unknown key type ecdsa.

man ssh-keygen говорит:

 -t type
         Specifies the type of key to create.  The possible values are ``rsa1''
         for protocol version 1 and ``dsa'', ``ecdsa'' or ``rsa'' for
         protocol version 2.

У кого-нибудь есть понимание этого?

Tech163
источник
Это /usr/bin/ssh-keygenединственная версия в вашей системе, и у вас есть несколько версий OpenSSL? Моя система 10.8.2 имеет ssh -VOpenSSH_5.9p1, OpenSSL 0.9.8r 8 февраля 2011 г.
MacLemon

Ответы:

17

На странице руководства описана возможность генерирования ключей ECC, поскольку версия OpenSSH 5.9p1 (версия, поставляемая с Mountain Lion) потенциально может поддерживать ECC. Однако фактическая сборка OpenSSH, поставляемая в комплекте с Mountain Lion, по-видимому, не имеет поддержки ECC 1 . Справочные страницы не изменяются, если поддержка ECC не включена в скомпилированные двоичные файлы.

Если вы хотите или нуждаетесь в поддержке ECC, вы можете использовать MacPorts (или, возможно, Homebrew) для установки сборки OpenSSH, которая поддерживает ECC. Вы можете столкнуться с некоторыми несовместимостями, хотя:

  • ssh-agent в комплекте (запускается автоматически с помощью launchd ) не сможет обрабатывать какие-либо ключи ECC (вам придется запускать свой собственный экземпляр «пользовательского» встроенного агента или вводить пароль каждый раз, когда вы используете ключ ECC с «пользовательский» ( ssh ), и
  • «встроенные» инструменты не будут иметь встроенной цепочки для ключей Apple.

1 Сценарий конфигурации OpenSSH выполняет некоторые проверки, чтобы убедиться, что доступная библиотека OpenSSL является достаточно новой и включает в себя различные биты функциональности ECC; похоже, что связанная версия OpenSSL удовлетворяет этим требованиям. Я не уверен, почему связанная версия OpenSSH была собрана без поддержки ECC.

Крис Джонсен
источник
2

Существуют потенциальные проблемы с патентами в криптографии Elliptic Curve, поэтому многие поставщики пока не хотят поддерживать ее. Тем не менее, он доступен для установки OSX OpenSSL, поэтому вам просто нужно скомпилировать OpenSSH самостоятельно.

имя имя
источник
0

Поддерживается из osx 10.10. {0,1} (не уверен, какой именно)

chruldt
источник