OpenSSH는 기본적으로 PKCS # 12 파일을 사용할 수 없습니다. 다른 사람들이 제안했듯이 OpenSSL에서 OpenSSH로 이동하는 PEM 형식의 개인 키를 추출해야합니다. 여기에 언급 된 다른 솔루션은 효과가 없습니다. “사전 패키지 된”유틸리티 (OpenSSL 0.9.8y, OpenSSH 6.2p2)와 함께 OS X 10.9 Mavericks (현재 10.9.3)을 사용합니다.
먼저 OpenSSH에서 직접 사용할 PEM 형식의 개인 키를 추출하십시오.
openssl pkcs12 -in filename.p12 -clcerts -nodes -nocerts | openssl rsa > ~/.ssh/id_rsa
암호로 개인 키를 암호화하는 것이 좋습니다.
openssl pkcs12 -in filename.p12 -clcerts -nodes -nocerts | openssl rsa -passout 'pass:Passw0rd!' > ~/.ssh/id_rsa
분명히 명령 줄에 일반 텍스트 암호를 작성하는 것도 안전하지 않으므로 기록에서 마지막 명령을 삭제하거나 도착하지 않는지 확인해야합니다. 다른 껍질에는 다른 방법이 있습니다. Bash와 다른 많은 쉘에서 히스토리에 저장되지 않도록 명령에 공백을 붙일 수 있습니다. Bash의 히스토리에서 명령을 삭제하는 방법도 있습니다.
history -d $(history | tail -n 2 | awk 'NR == 1 { print $1 }')
또는 다른 방법으로 개인 키 암호를 OpenSSL에 전달할 수 있습니다. 암호 구문 인수에 대해서는 OpenSSL 설명서를 참조하십시오 .
그런 다음 authorized_keys 파일에 추가 할 수있는 OpenSSH 공개 키를 작성하십시오.
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub