¿Cómo puedo agregar una clave privada a mi llavero?

41

Estoy tratando de agregar myRepositoryKeya mi utilidad de llavero Mac así. Exporté este artículo en formato OpenRSA desde Putty. Cuando trato de usar Import Items, el archivo no es seleccionable. ¿Qué debo hacer para importar a mi llavero? ¿El archivo necesita una extensión específica?

Casebash
fuente

Respuestas:

42

Tienes que crear un .p12archivo. Para hacerlo, necesita su clave privada y un certificado para esa clave. Luego ejecute lo siguiente en su consola:

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

donde private.keyes su clave privada RSA existente, certificate.crtes su certificado existente y MyPKCS12.p12es el nombre del archivo a crear. Este archivo se puede importar a su llavero.

Si necesita su clave para acceso SSH (SFTP, SCP o similar), no tiene que estar en su llavero. Simplemente copie su clave privada ~/.ssh/y edite / cree el ~/.ssh/configarchivo. Allí pondrías algo en estas líneas:

# 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
fuente
¿Qué quiere decir con un certificado para la clave? ¿Tendría que involucrar a una autoridad de firma?
Casebash
Sí, o firme uno, aunque no lo recomendaría para nada más que para uso personal.
bummzack
1
Solo para su información, el comando funcionó para mí usando un .pem en lugar de un .crt para el certificado. Primero intenté convertir el .pem en un .crt , que falló, ¡luego probé el .pem en el comando que has mostrado directamente y que realmente funcionó!
quickshiftin
creó un archivo p12 en mi caso, pero con este error "no se pueden cargar certificados", ¿qué significa eso?
Umair A.
Es posible que hayas salvado mi trabajo. Me estaba rompiendo la cabeza por esto durante horas.
Sridhar Sarnobat
28

Bueno, tampoco entiendo que "necesito un certificado para la clave" ...

Acabo de hacer ssh-add -K /path/to/private/key.

Sin embargo, asegúrese de estar usando el Mac incorporado ssh-addy no el de Macports (si alguna vez necesita actualizar OpenSSH).

Entonces, solo hazlo /usr/bin/ssh-add -K /path/to/private/key.

Espero que ayude.

Gregory Pakosz
fuente
Correcto: el SSH incorporado debe agregar la clave, entonces tanto el SSH incorporado como el SSP MacPorts pueden usarlo.
Jeremy L
Tenga en cuenta que puede encontrar que "El permiso %%%% para ... está demasiado abierto. [...] Esta clave privada será ignorada". Eche un vistazo a esta respuesta para solucionar ese problema.
luk2302
Funcionó a la perfección. ¡Gracias!
mmla
1

Considerando todo en formato PEM, el archivo de clave privada es server-key.key y el archivo de certificado es 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
fuente
-Tya no funciona en Sierra stackoverflow.com/questions/39868578/…
Heath Borders