Anahtarlıkıma nasıl özel bir anahtar ekleyebilirim?


38

Eklemeye çalışıyorum myRepositoryKey Mac anahtarlık yardımcı programına yani. Bu ürünü OpenRSA formatında Putty'den ihraç ettim. Kullanmaya çalıştığımda Import Items, dosya seçilemez. Anahtarlığımı içe aktarmak için ne yapmam gerekiyor? Dosyanın belirli bir uzantıya ihtiyacı var mı?

Yanıtlar:


38

Oluşturmak zorundasın .p12 dosya. Bunu yapmak için özel anahtarınıza ve bu anahtar için bir sertifikaya ihtiyacınız vardır. Ardından konsolunuzda aşağıdakileri çalıştırın:

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

nerede private.key Mevcut özel RSA anahtarınız certificate.crt mevcut sertifikanız ve MyPKCS12.p12 oluşturulacak dosyanın adıdır. Bu dosya daha sonra anahtarlığınıza aktarılabilir.

SSH erişimi için anahtarınıza ihtiyacınız varsa (SFTP, SCP veya benzeri), anahtarlığınızda olması gerekmez. Özel anahtarınızı ~/.ssh/ ve düzenleme / oluşturma ~/.ssh/config dosya. Orada şu satırlara bir şey koyacaksın:

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

Anahtar için bir sertifika ile ne demek istiyorsunuz? Bir imza otoritesi dahil etmek zorunda mıyım?
Casebash

Evet, ya da kendiniz bir tane imzalayın, ancak kişisel kullanımdan başka bir şey için bunu tavsiye etmem.
bummzack

1
Sadece bir FYI, komut benim için çalıştı. .pem yerine .crt Sertifika için İlk önce dönüştürmeye çalıştım .pem bir .crt , başarısız oldu, sonra sadece denedim .pem komutunda doğrudan gösterdiğiniz ve aslında çalıştı!
quickshiftin

benim durumumda p12 dosyası yarattı ama bu hata ile "sertifika yüklenemiyor" ne anlama geliyor?
Neutralizer

İşimi kurtarmış olabilirsin. Bunun üzerinde saatlerce kafamı kırıyordum.
Sridhar-Sarnobat

25

Ben de "anahtar için bir sertifikaya ihtiyacım yok" demiyorum ...

Sadece yapıyorum ssh-add -K /path/to/private/key.

Ancak, Mac’in yerleşik özelliğini kullandığınızdan emin olun. ssh-add Macports'unki değil (OpenSSH'yi yükseltmeniz gerektiğinde).

Yani, sadece yap /usr/bin/ssh-add -K /path/to/private/key.

Umarım yardımcı olur.


Doğru: Yerleşik SSH, anahtarı eklemelidir, sonra hem yerleşik SSH hem de MacPorts SSH bunu kullanabilir.
Jeremy L

"... için %%%% izninin çok açık olduğu." Özel anahtarının yok sayılacağı "ile karşılaşabileceğinizi unutmayın. Bir göz at bu cevapta bu sorunu çözmek için.
luk2302

5

Sadece Lion altında sessizce göz ardı edilmek için Keychain'in GUI'sini kullanarak bir .p12 almayı denedim. Yani sadece bütünlüğü için, bu yazıya Stephan'ın Blogunda yer vermek istiyorum.

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

Kısacası, bu her zaman hile yapmak gerekir:

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

1

Bunların hepsi PEM formatında ele alındığında, özel anahtar dosya server-key.key ve sertifika dosyası server-cert.pem'dir.

# 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 artık Sierra'da çalışmıyor stackoverflow.com/questions/39868578/...
Heath Borders
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.