Как я могу добавить закрытый ключ к моей связке ключей?


41

Я пытаюсь добавить myRepositoryKeyв мою утилиту брелок Mac так. Я экспортировал этот элемент в формате OpenRSA из Putty. Когда я пытаюсь использовать Import Items, файл не выбирается. Что мне нужно сделать, чтобы импортировать в мою связку ключей? Нужно ли конкретное расширение файла?

Ответы:


42

Вы должны создать .p12файл. Для этого вам нужен ваш закрытый ключ и сертификат для этого ключа. Затем запустите на своей консоли следующее:

openssl pkcs12 -export -clcerts -inkey private.key -in certificate.crt -out MyPKCS12.p12 -name "Your Name"

где private.keyваш существующий закрытый ключ RSA, certificate.crtваш существующий сертификат и MyPKCS12.p12имя файла для создания. Этот файл затем может быть импортирован в вашу связку ключей.

Если вам нужен ключ для доступа по SSH (SFTP, SCP или аналогичный), он не обязательно должен быть в вашей цепочке для ключей. Просто скопируйте свой закрытый ключ ~/.ssh/и отредактируйте / создайте ~/.ssh/configфайл. Там вы бы поместили что-то вроде этого:

# replace the host, location of the private key and the remoteUserName
# with valid values.
Host remote.domain.com
    IdentityFile ~/.ssh/private.key
    User remoteUserName

Что вы подразумеваете под сертификатом на ключ? Должен ли я привлечь право подписи?
Casebash

Да или сам подпишись, хотя я бы не советовал это ни для чего, кроме личного использования.
bummzack

1
Просто для справки, команда работала для меня, используя .pem, а не .crt для сертификата. Сначала я попытался преобразовать .pem в .crt , но это не удалось, затем просто попробовал .pem в команде, которую вы показывали напрямую, и это действительно сработало!
quickshiftin

он создал файл p12 в моем случае, но с этой ошибкой «невозможно загрузить сертификаты», что это значит?
Умайр А.

Вы могли бы сохранить мою работу. Я ломал голову над этим часами.
Шридхар Сарнобат

28

Ну, я не понимаю, что "нужен сертификат для ключа" ...

Я просто делаю ssh-add -K /path/to/private/key.

Тем не менее, убедитесь, что вы используете встроенный Mac, ssh-addа не Macports (если вам когда-либо нужно было обновить OpenSSH).

Так что просто делай /usr/bin/ssh-add -K /path/to/private/key.

Надеюсь, это поможет.


Правильно: встроенный SSH должен добавить ключ, тогда его могут использовать как встроенный SSH, так и MacPorts SSH.
Джереми Л

Обратите внимание, что вы можете столкнуться с тем, что «Permission %%%% for ... слишком открыты. [...] Этот закрытый ключ будет игнорироваться». Посмотрите на этот ответ, чтобы решить эту проблему.
luk2302

Работал отлично. Спасибо!
mmla

5

Я попытался импортировать .p12, используя GUI Keychain, чтобы просто игнорировать его под Lion. Так что просто для полноты, я хотел бы этот пост в блоге Стефана

http://www.arlt.eu/blog/2009/12/01/importing-iphone-keys-p12-and-pem-into-snow-leopards-keychain/

Короче говоря, это должно делать свое дело каждый раз:

security import priv_key.p12 -k ~/Library/Keychains/login.keychain
security import pub_key.pem -k ~/Library/Keychains/login.keychain

1

Учитывая все в формате PEM, файл закрытого ключа - server-key.key, а файл сертификата - server-cert.pem.

# create .p12 formatted file with key and certificate using openssl. 
openssl pkcs12 -export -in server-cert.pem -inkey server-key.key -passout pass:password -out certificate.p12 -name "SCProxy"

# should use -T appPath. -A means this key is accessible for all apps. 
sudo security import certificate.p12 -A -P password -k "/Library/Keychains/System.keychain"
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" server-cert.pem

-Tбольше не работает в Сьерре stackoverflow.com/questions/39868578/…
Хит Бордерс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.