Comment puis-je ajouter une clé privée à mon trousseau?

41

J'essaie d'ajouter myRepositoryKeyà mon utilitaire de trousseau Mac afin. J'ai exporté cet article au format OpenRSA à partir de Putty. Lorsque j'essaie d'utiliser Import Items, le fichier n'est pas sélectionnable. Que dois-je faire pour importer dans mon trousseau? Le fichier nécessite-t-il une extension spécifique?

Casebash
la source

Réponses:

42

Vous devez créer un .p12fichier. Pour ce faire, vous avez besoin de votre clé privée et d'un certificat pour cette clé. Ensuite, lancez ce qui suit sur votre console:

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

private.keyest votre clé RSA privée existante, certificate.crtvotre certificat existant et MyPKCS12.p12le nom du fichier à créer. Ce fichier peut ensuite être importé dans votre trousseau.

Si vous avez besoin de votre clé pour l'accès SSH (SFTP, SCP ou similaire), il n'est pas nécessaire qu'elle se trouve dans votre trousseau. Copiez simplement votre clé privée dans ~/.ssh/et éditez / créez le ~/.ssh/configfichier. Là, vous mettriez quelque chose dans ce sens:

# replace the host, location of the private key and the remoteUserName
# with valid values.
Host remote.domain.com
    IdentityFile ~/.ssh/private.key
    User remoteUserName
bummzack
la source
Qu'entendez-vous par un certificat pour la clé? Devrais-je impliquer un signataire autorisé?
Casebash
Oui, ou en signer un vous-même, bien que je ne le recommande pas pour autre chose que pour un usage personnel.
Bummzack
1
Juste un FYI, la commande a fonctionné pour moi en utilisant un .pem plutôt qu'un .crt pour le certificat. J'ai d'abord essayé de convertir le .pem en un .crt , qui a échoué, puis juste essayé le .pem dans la commande que vous avez montrée directement et qui a fonctionné!
quickshiftin
cela a créé le fichier p12 dans mon cas mais avec cette erreur "incapable de charger les certificats", qu'est-ce que cela signifie?
Umair A.
Vous avez peut-être sauvé mon travail. Je me suis cassé la tête pendant des heures.
Sridhar Sarnobat
28

Eh bien, je ne comprends pas que "besoin d'un certificat pour la clé" non plus ...

Je fais juste ssh-add -K /path/to/private/key.

Cependant, assurez-vous que vous utilisez celui de Mac ssh-addet non celui de Macports (si vous avez déjà eu besoin de mettre à jour OpenSSH).

Alors, fais juste /usr/bin/ssh-add -K /path/to/private/key.

J'espère que ça t'as aidé.

Gregory Pakosz
la source
Correct: le SSH intégré doit ajouter la clé, puis le SSH intégré et le SSH MacPorts peuvent l’utiliser.
Jeremy L
Notez que vous pourriez rencontrer le problème suivant: "Les autorisations %%%% pour ... sont trop ouvertes. [...] Cette clé privée sera ignorée." Jetez un oeil sur cette réponse pour résoudre ce problème.
luk2302
A parfaitement fonctionné. Merci!
mmla
5

J'ai essayé d'importer un fichier .p12 à l'aide de l'interface graphique de Keychain pour être ignoré silencieusement sous Lion. Donc, juste pour être complet, j'aimerais cet article dans le blog de Stephan

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

En bref, cela devrait faire l'affaire à chaque fois:

security import priv_key.p12 -k ~/Library/Keychains/login.keychain
security import pub_key.pem -k ~/Library/Keychains/login.keychain
tête de code
la source
1

En considérant tout au format PEM, le fichier de clé privée est server-key.key et le fichier de certificat est 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
Karim
la source
-Tne fonctionne plus dans Sierra stackoverflow.com/questions/39868578/…
Heath Borders