รูปแบบ ssh-keygen .pub ทำงานอย่างไรกับไฟล์. pem


17

ssh-keygenคำสั่งสร้าง.pubไฟล์ที่มันอธิบายว่า "ไฟล์คีย์สาธารณะ" แต่พวกเขามีรูปแบบที่แตกต่างกันโดยสิ้นเชิงให้มากที่สุด "ไฟล์คีย์สาธารณะ" ผมเคยเห็นปกติที่อยู่ในรูปแบบ PEM ssh-keygenไฟล์สไตล์มีลักษณะเช่นนี้

ssh-rsa AAAAB3NzaC1... user@host

... ในขณะที่ไฟล์ PEM มีลักษณะดังนี้:

-----BEGIN CERTIFICATE-----
MIIGZjCCBU6gAwIBAgIDCIrNMA0GCSqGSIb3DQEBBQUAMIGMMQsw...
-----END CERTIFICATE-----

สองรูปแบบเหล่านี้ใช้แทนกันได้หรือพวกเขามีวัตถุประสงค์ที่แตกต่างกันโดยพื้นฐาน? ฉันเจอปัญหานี้เพราะฉันต้องการได้รับลายนิ้วมือกุญแจ RSA2 ของไฟล์กุญแจสาธารณะที่เข้ารหัส PEM ของฉัน แต่วิธีการมักจะแนะนำให้ทำ ( ssh-keygen -l) บอกว่าไฟล์ที่เข้ารหัส PEM ของฉัน "ไม่ใช่ไฟล์กุญแจสาธารณะ"

โดยวิธีการที่ฉันรู้คำตอบนี้ssh-keygenแต่มันไม่ครอบคลุมไฟล์ผับที่สร้างขึ้นโดย


1
รหัสสาธารณะ SSH นั้นไม่เหมือนกับใบรับรองในรูปแบบ PEM คุณเคยดูสิ่งนี้หรือไม่? serverfault.com/questions/114301/…
cjc

2
เป็นสิ่งสำคัญที่คุณจะต้องมาดูที่ OpenSSH ไม่ใช่ SSH.COM ทั่วไปหรือการใช้งานอื่น ๆ รหัสสาธารณะที่เข้ารหัส PEM มาตรฐานนั้นใช้ได้จริงสำหรับการใช้งานทั่วไปที่น้อยกว่า ฉันรู้กล่อง VMS ที่ฉันเชื่อมต่อเพื่อต้องการไฟล์ PEM
Zoredache

@cjc ใช่มันไม่ใช่ใบรับรอง แต่ก็ไม่เหมือนกันกับที่คุณได้รับจากการใช้งานopenssl rsa -in privatekey_rsa -puboutซึ่งจริง ๆ แล้วเป็นกุญแจสาธารณะและไม่ใช่ใบรับรอง
Zoredache

คำตอบ:


8

คู่คีย์ OpenSSH ไม่ใช่ PEM หรือมาตรฐาน x500 อื่น ๆ เวอร์ชั่นใหม่ของ OpenSSH สามารถใช้คีย์ X.509 PEM ได้ แต่นั่นเป็นอีกลูกหนึ่งที่แยกออกมาจาก ssh-keygen และจะต้องมีการกำหนดค่าอย่างชัดเจน อย่างที่ฉันทราบดีว่าไม่มีการใช้งานที่สำคัญของ SSH ใช้รูปแบบคีย์ที่แน่นอนเหมือนกับที่อื่น ๆ

ในฐานะที่เป็นบันทึกZoredache ถ้าคุณกำลังใช้สิ่งอื่นนอกเหนือจาก OpenSSH (deus iuvo vos) ก็อาจจะเป็นสิ่งที่ใกล้เคียง


1
ใช่แน่นอนฉันสับสน SSH และ SSL! ที่จริงแล้ว OpenSSH daemon ของฉันใช้.pubไฟล์บนเซิร์ฟเวอร์ของฉันที่/etc/ssh/ssh_host_rsa_key.pubและไม่ได้ใช้สถาปัตยกรรมผู้ออกใบรับรอง SSL ใด ๆ เมื่อฉันรันssh-keygen -lไฟล์นั้นมันทำให้ฉันมีลายนิ้วมือที่สำคัญของเซิร์ฟเวอร์ RSA2
Jez
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.