Come posso aggiungere una chiave privata al mio portachiavi?


41

Sto cercando di aggiungere myRepositoryKeyalla mia utility portachiavi Mac così. Ho esportato questo articolo in formato OpenRSA da Putty. Quando provo a utilizzare Import Items, il file non è selezionabile. Cosa devo fare per importare nel mio portachiavi? Il file richiede un'estensione specifica?

Risposte:


42

Devi creare un .p12file. Per fare ciò hai bisogno della tua chiave privata e di un certificato per quella chiave. Quindi eseguire quanto segue sulla console:

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

dove si private.keytrova la chiave RSA privata esistente, certificate.crtè il certificato esistente ed MyPKCS12.p12è il nome del file da creare. Questo file può quindi essere importato nel tuo portachiavi.

Se hai bisogno della tua chiave per l'accesso SSH (SFTP, SCP o simili), non deve essere nel tuo portachiavi. Copia semplicemente la tua chiave privata ~/.ssh/e modifica / crea il ~/.ssh/configfile. Lì metti qualcosa in questo modo:

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

Cosa intendi con un certificato per la chiave? Dovrei coinvolgere un'autorità di firma?
Casebash,

Sì, o firmane uno tu stesso, anche se non lo consiglierei per nient'altro che per uso personale.
Bummzack,

1
Solo una FYI, il comando ha funzionato per me usando un .pem anziché un .crt per il certificato. Prima ho provato a convertire il .pem in un .crt , ma non ci sono riuscito, poi ho provato il .pem nel comando che hai mostrato direttamente e che ha funzionato!
cambio rapido

ha creato il file p12 nel mio caso ma con questo errore "impossibile caricare i certificati" cosa significa?
Umair A.

Potresti aver salvato il mio lavoro. Mi stavo spaccando la testa per ore.
Sridhar Sarnobat,

28

Beh, non capisco nemmeno "ho bisogno di un certificato per la chiave" ...

Lo faccio e basta ssh-add -K /path/to/private/key.

Tuttavia, assicurati di utilizzare quello integrato di Mac ssh-adde non quello di Macports (se hai mai avuto bisogno di aggiornare OpenSSH).

Quindi, fallo e basta /usr/bin/ssh-add -K /path/to/private/key.

Spero che sia d'aiuto.


Corretto: l'SSH integrato deve aggiungere la chiave, quindi sia l'SSH integrato che l'SSH MacPorts possono usarlo.
Jeremy L,

Nota che potresti riscontrare che "Le autorizzazioni %%%% per ... sono troppo aperte. [...] Questa chiave privata verrà ignorata." Dai un'occhiata a questa risposta per risolvere il problema.
luk2302,

Ha funzionato perfettamente. Grazie!
mmla


1

Considerando tutto in formato PEM, il file della chiave privata è server-key.key e il file del certificato è 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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.