ฉันจะเพิ่มไพรเวตคีย์ในพวงกุญแจของฉันได้อย่างไร


40

ฉันกำลังพยายามเพิ่มmyRepositoryKeyโปรแกรมอรรถประโยชน์พวงกุญแจ Mac ของฉันดังนั้น ฉันส่งออกรายการนี้ในรูปแบบ OpenRSA จาก Putty เมื่อฉันพยายามใช้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
เพียงแค่ FYI คำสั่งนั้นใช้ได้กับฉันโดยใช้. pemแทนที่จะเป็น. crtสำหรับใบรับรอง ฉันพยายามแปลง. pemเป็น. crtซึ่งล้มเหลวจากนั้นลองใช้. pemในคำสั่งที่คุณแสดงโดยตรงและใช้งานได้จริง!
quickshiftin

มันสร้างไฟล์ p12 ในกรณีของฉัน แต่ด้วยข้อผิดพลาดนี้ "ไม่สามารถโหลดใบรับรอง" หมายความว่าอย่างไร
Umair A.

คุณอาจบันทึกงานของฉัน ฉันแหกหัวเรื่องนี้หลายชั่วโมง
Sridhar Sarnobat

27

ฉันไม่เข้าใจว่า "ต้องมีใบรับรองสำหรับคีย์" ด้วย ...

ssh-add -K /path/to/private/keyฉันเพียงแค่ทำ

อย่างไรก็ตามตรวจสอบให้แน่ใจว่าคุณใช้ Mac ในตัวssh-addไม่ใช่ของ Macports (ถ้าคุณต้องการอัพเกรด OpenSSH)

/usr/bin/ssh-add -K /path/to/private/keyดังนั้นเพียงแค่ทำ

หวังว่าจะช่วย


ถูกต้อง: SSH ในตัวจะต้องเพิ่มคีย์จากนั้นทั้ง SSH ในตัวและ MacPorts SSH สามารถใช้งานได้
Jeremy L

โปรดทราบว่าคุณอาจพบว่า "สิทธิ์ %%%% สำหรับ ... เปิดเกินไป [... ] คีย์ส่วนตัวนี้จะถูกละเว้น" ลองดูคำตอบนี้เพื่อแก้ไขปัญหานั้น
luk2302

ทำงานได้อย่างสมบูรณ์แบบ ขอขอบคุณ!
mmla

5

ฉันได้ลองนำเข้า. p12 โดยใช้ GUI ของ Keychain เพื่อละเว้นภายใต้ Lion อย่างเงียบ ๆ ดังนั้นเพื่อความสมบูรณ์ฉันต้องการโพสต์นี้ในบล็อกของสเตฟาน

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/…
Heath Borders
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.