Bagaimana saya bisa menambahkan kunci pribadi ke gantungan kunci saya?

41

Saya mencoba menambahkan myRepositoryKeyke utilitas gantungan kunci Mac saya. Saya mengekspor item ini dalam format OpenRSA dari Putty. Ketika saya mencoba menggunakan Import Items, file tidak dapat dipilih. Apa yang harus saya lakukan untuk mengimpor ke gantungan kunci saya? Apakah file memerlukan ekstensi spesifik?

Casebash
sumber

Jawaban:

42

Anda harus membuat .p12file. Untuk melakukan itu, Anda memerlukan kunci pribadi dan sertifikat untuk kunci itu. Kemudian jalankan yang berikut ini di konsol Anda:

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

di mana private.keykunci RSA pribadi Anda yang ada, certificate.crtadalah sertifikat yang ada dan MyPKCS12.p12merupakan nama file yang akan dibuat. File ini kemudian dapat diimpor ke gantungan kunci Anda.

Jika Anda memerlukan kunci Anda untuk akses SSH (SFTP, SCP atau yang serupa), kunci itu tidak harus ada di gantungan kunci Anda. Cukup salin kunci pribadi Anda ke ~/.ssh/dan edit / buat ~/.ssh/configfile. Di sana Anda akan meletakkan sesuatu di sepanjang baris ini:

# 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
sumber
Apa yang Anda maksud dengan sertifikat untuk kunci? Apakah saya harus melibatkan otoritas penandatanganan?
Casebash
Ya, atau tandatangani sendiri, meskipun saya tidak akan merekomendasikan hal itu selain untuk penggunaan pribadi.
bummzack
1
Hanya FYI, perintah itu berfungsi untuk saya menggunakan .pem daripada .crt untuk sertifikat. Saya pertama kali mencoba untuk mengkonversi .pem menjadi .crt , yang gagal, kemudian hanya mencoba .pem pada perintah yang telah Anda tunjukkan secara langsung dan itu benar-benar berfungsi!
quickshiftin
itu memang membuat file p12 dalam kasus saya tetapi dengan kesalahan ini "tidak dapat memuat sertifikat" apa artinya?
Umair A.
Anda mungkin telah menyelamatkan pekerjaan saya. Aku mematahkan kepalaku selama ini selama berjam-jam.
Sridhar Sarnobat
28

Yah aku tidak mengerti bahwa "butuh sertifikat untuk kunci" ...

Saya hanya melakukannya ssh-add -K /path/to/private/key.

Namun, pastikan Anda menggunakan bawaan Mac ssh-adddan bukan Macports (jika Anda perlu memutakhirkan OpenSSH).

Jadi, lakukan saja /usr/bin/ssh-add -K /path/to/private/key.

Semoga itu bisa membantu.

Gregory Pakosz
sumber
Benar: SSH bawaan harus menambahkan kunci, maka SSH bawaan dan SSH MacPorts dapat menggunakannya.
Jeremy L
Perhatikan bahwa Anda mungkin menemukan bahwa "Izin %%%% untuk ... terlalu terbuka. [...] Kunci pribadi ini akan diabaikan." Lihatlah jawaban ini untuk memperbaiki masalah itu.
luk2302
Bekerja dengan sempurna. Terima kasih!
mmla
1

Mempertimbangkan semua dalam format PEM, file kunci pribadi adalah server-key.key dan file sertifikat adalah 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
sumber
-Ttidak lagi berfungsi di Sierra stackoverflow.com/questions/39868578/…
Heath Borders