Jak mogę dodać klucz prywatny do mojego pęku kluczy?


40

Próbuję dodać myRepositoryKeydo mojego narzędzia do pęku kluczy Mac tak. Wyeksportowałem ten produkt w formacie OpenRSA z Putty. Kiedy próbuję użyć Import Items, pliku nie można wybrać. Co muszę zrobić, aby zaimportować do mojego pęku kluczy? Czy plik wymaga określonego rozszerzenia?

Odpowiedzi:


42

Musisz utworzyć .p12plik. Aby to zrobić, potrzebujesz klucza prywatnego i certyfikatu dla tego klucza. Następnie uruchom następujące polecenie na konsoli:

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

gdzie private.keyjest twój obecny prywatny klucz RSA, certificate.crtto twój istniejący certyfikat i MyPKCS12.p12nazwa pliku do utworzenia. Ten plik można następnie zaimportować do pęku kluczy.

Jeśli potrzebujesz klucza dostępu SSH (SFTP, SCP lub podobny), nie musi on znajdować się w pęku kluczy. Po prostu skopiuj swój klucz prywatny ~/.ssh/i edytuj / utwórz ~/.ssh/configplik. Tam umieściłbyś coś według tych zasad:

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

Co rozumiesz przez certyfikat dla klucza? Czy musiałbym zaangażować organ podpisujący?
— Casebash

Tak, lub podpisz jeden, chociaż nie polecam tego do niczego innego niż na własny użytek.
— bummzack

1
Po prostu FYI, polecenie działało dla mnie przy użyciu .pem zamiast .crt dla certyfikatu. Najpierw próbowałem przekonwertować .pem na .crt , co nie powiodło się, a potem po prostu spróbowałem .pem w poleceniu, które pokazałeś bezpośrednio i które faktycznie działało!
— szybka zmiana

w moim przypadku utworzono plik p12, ale z tym błędem „nie można załadować certyfikatów”, co to znaczy?
— Umair A.,

Mogłeś uratować moją pracę. Godziłem się nad tym przez wiele godzin.
— Sridhar Sarnobat

27

Nie rozumiem, że „potrzebuję certyfikatu klucza”…

Po prostu tak ssh-add -K /path/to/private/key.

Jednak upewnij się, że korzystasz z wbudowanego Maca, ssh-adda nie Macports (jeśli kiedykolwiek będziesz potrzebował zaktualizować OpenSSH).

Więc po prostu zrób /usr/bin/ssh-add -K /path/to/private/key.

Mam nadzieję, że to pomaga.


Prawidłowo: wbudowany SSH musi dodać klucz, wówczas zarówno wbudowany SSH, jak i MacPorts SSH mogą go użyć.
— Jeremy L,

Pamiętaj, że możesz napotkać, że „Zezwolenie %%%% na ... są zbyt otwarte. [...] Ten klucz prywatny zostanie zignorowany.” Spójrz na tę odpowiedź, aby rozwiązać ten problem.
— luk2302

Działał idealnie. Dziękuję Ci!
— mmla

5

Próbowałem zaimportować plik .p12 przy użyciu graficznego interfejsu użytkownika pęku kluczy, aby po cichu zignorować go w programie Lion. Więc dla kompletności chciałbym ten post na blogu Stephana

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

Krótko mówiąc, powinno to załatwić sprawę za każdym razem:

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

1

Biorąc pod uwagę wszystko w formacie PEM, plik klucza prywatnego to server-key.key, a plik certyfikatu to 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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.