키 체인에 개인 키를 어떻게 추가 할 수 있습니까?


40

myRepositoryKey내 Mac 키 체인 유틸리티 에 추가하려고합니다 . Putty에서 OpenRSA 형식으로이 항목을 내보냈습니다. 을 사용하려고 Import Items하면 파일을 선택할 수 없습니다. 키 체인으로 가져 오려면 어떻게해야합니까? 파일에 특정 확장자가 필요합니까?

답변:


42

.p12파일 을 만들어야 합니다. 그러기 위해서는 개인 키와 해당 키에 대한 인증서가 필요합니다. 그런 다음 콘솔에서 다음을 실행하십시오.

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

private.key기존 개인 RSA 키는 어디에 있습니까? certificate.crt기존 인증서이며 MyPKCS12.p12만들 파일의 이름입니다. 그런 다음이 파일을 키 체인으로 가져올 수 있습니다.

SSH 액세스를위한 키 (SFTP, SCP 등)가 필요한 경우 키 체인에있을 필요는 없습니다. 개인 키를 복사하여 파일을 ~/.ssh/편집 / 만들기 만하면 ~/.ssh/config됩니다. 거기에 다음 줄을 따라 뭔가를 넣습니다.

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

키 인증서는 무엇을 의미합니까? 서명 기관을 포함시켜야합니까?
Casebash

개인 용도 이외의 다른 용도로는 권장하지 않지만 예 또는 직접 서명하십시오.
bummzack

1
참고로, 명령 은 인증서에 .crt 대신 .pem을 사용하여 저에게 효과적 이었습니다. 먼저 .pem.crt 로 변환하려고 시도했지만 실패 했습니다. 직접 표시 한 명령 에서 .pem 을 시도했지만 실제로 작동했습니다!
quickshiftin

내 경우에는 p12 파일을 만들었지만이 오류가 "인증서를로드 할 수 없습니다"라는 의미는 무엇입니까?
Umair A.

내 직업을 구했을 수도 있습니다. 나는 이것을 몇 시간 동안 머리 위로 깨고 있었다.
Sridhar Sarnobat

27

글쎄, 나는 "키에 대한 인증서가 필요하다"는 것을 얻지 못한다.

나는 단지한다 ssh-add -K /path/to/private/key.

그러나 Mac ssh-add포트가 아닌 Mac의 내장 기능을 사용하고 있는지 확인하십시오 (OpenSSH를 업그레이드해야하는 경우).

그래서 그냥하십시오 /usr/bin/ssh-add -K /path/to/private/key.

희망이 도움이됩니다.


올바른 : 내장 SSH가 키를 추가해야합니다. 그러면 내장 SSH와 MacPorts SSH 모두 사용할 수 있습니다.
Jeremy L

"... 권한 %%%%이 (가) 너무 열려 있습니다. [...]이 개인 키는 무시됩니다."라는 오류가 발생할 수 있습니다. 문제를 해결하려면 이 답변 을 살펴보십시오 .
luk2302

완벽하게 작동했습니다. 감사합니다!
mmla

5

Lion에서는 Keychain의 GUI를 사용하여 .p12를 가져 오기 위해 조용히 무시했습니다. 완벽을 기하기 위해 Stephan의 블로그 에이 게시물을 표시하고 싶습니다.

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

요컨대, 매번 트릭을 수행해야합니다.

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

1

PEM 형식의 모든 것을 고려하면 개인 키 파일은 server-key.key이고 인증서 파일은 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

-T더 이상 Sierra에서 작동하지 않습니다 stackoverflow.com/questions/39868578/…
히스 테두리
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.