Làm cách nào để thêm khóa riêng vào móc khóa?


40

Tôi đang cố gắng để thêm myRepositoryKeyvào tiện ích móc khóa Mac của tôi như vậy. Tôi đã xuất mục này ở định dạng OpenRSA từ Putty. Khi tôi cố gắng sử dụng Import Items, tập tin không thể chọn. Tôi cần làm gì để nhập vào móc khóa của mình? Tập tin có cần một phần mở rộng cụ thể không?

Câu trả lời:


42

Bạn phải tạo một .p12tập tin. Để làm được điều đó, bạn cần có khóa riêng và chứng chỉ cho khóa đó. Sau đó chạy như sau trên bảng điều khiển của bạn:

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

private.keykhóa RSA riêng hiện tại của bạn ở đâu , certificate.crtlà chứng chỉ hiện có của bạn và MyPKCS12.p12là tên của tệp cần tạo. Tập tin này sau đó có thể được nhập vào móc khóa của bạn.

Nếu bạn cần khóa của mình để truy cập SSH (SFTP, SCP hoặc tương tự), thì nó không phải nằm trong móc khóa của bạn. Chỉ cần sao chép khóa riêng của bạn vào ~/.ssh/và chỉnh sửa / tạo ~/.ssh/configtệp. Ở đó bạn sẽ đặt một cái gì đó dọc theo những dòng này:

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

Bạn có ý nghĩa gì bởi một chứng chỉ cho khóa? Tôi sẽ phải liên quan đến một cơ quan ký kết?
Casebash

Có, hoặc tự ký tên, mặc dù tôi sẽ không khuyến nghị điều đó cho bất cứ điều gì khác ngoài sử dụng cá nhân.
bummzack

1
Chỉ là một FYI, lệnh đã làm việc cho tôi bằng cách sử dụng .pem thay vì .crt cho chứng chỉ. Trước tiên tôi đã thử chuyển đổi .pem thành .crt , nhưng không thành công, sau đó chỉ thử .pem trong lệnh bạn đã hiển thị trực tiếp và điều đó thực sự hiệu quả!
quickshiftin

nó đã tạo tập tin p12 trong trường hợp của tôi nhưng với lỗi này "không thể tải chứng chỉ" thì điều đó có nghĩa là gì?
Umair A.

Bạn có thể đã cứu công việc của tôi. Tôi đã phá vỡ đầu của tôi trong nhiều giờ.
Sridhar Sarnobat

27

Chà, tôi cũng không hiểu rằng "cần một chứng chỉ cho khóa" hoặc ...

Tôi chỉ làm ssh-add -K /path/to/private/key.

Tuy nhiên, hãy đảm bảo bạn đang sử dụng Mac tích hợp ssh-addchứ không phải Macports (nếu bạn cần nâng cấp OpenSSH).

Vì vậy, chỉ cần làm /usr/bin/ssh-add -K /path/to/private/key.

Mong rằng sẽ giúp.


Chính xác: SSH tích hợp phải thêm khóa, sau đó cả SSH tích hợp và MacPorts SSH đều có thể sử dụng nó.
Jeremy L

Lưu ý rằng bạn có thể gặp phải rằng "Quyền %%%% cho ... quá mở. [...] Khóa riêng này sẽ bị bỏ qua." Hãy xem câu trả lời này để khắc phục vấn đề đó.
luk2302

Làm việc hoàn hảo. Cảm ơn bạn!
mmla

5

Tôi đã cố gắng nhập .p12 bằng GUI của Keychain chỉ để âm thầm bị bỏ qua trong Lion. Vì vậy, để hoàn thiện, tôi muốn bài đăng này trong Blog của Stephan

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

Nói tóm lại, điều này nên thực hiện thủ thuật mỗi lần:

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

1

Xem xét tất cả ở định dạng PEM, tệp khóa riêng là server-key.key và tệp chứng chỉ là 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

-Tkhông còn hoạt động trong Sierra stackoverflow.com/questions/39868578/ từ
Biên giới Heath
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.