ในฐานะที่เป็นโรลันด์กล่าวถึงในคำตอบของพวกเขาก็เตือนว่าssh-agent
ไม่เข้าใจรูปแบบของคีย์สาธารณะและแม้แล้วคีย์สาธารณะจะไม่ถูกนำมาใช้ในประเทศ
อย่างไรก็ตามฉันสามารถอธิบายและตอบได้อย่างละเอียดว่าเหตุใดจึงมีคำเตือนดังกล่าว มันเป็นเพียงความจริงที่ว่าPuTTY Key Generatorสร้างคีย์สาธารณะสองรูปแบบที่แตกต่างกันขึ้นอยู่กับสิ่งที่คุณทำในโปรแกรม
หมายเหตุ:ตลอดคำอธิบายของฉันไฟล์สำคัญที่ฉันจะใช้ / สร้างจะได้รับการตั้งชื่อid_rsa
ด้วยนามสกุลที่เหมาะสม ~/.ssh/
นอกจากนี้สำหรับคัดลอกวางความสะดวกสบายโฟลเดอร์หลักของคีย์จะได้รับการสันนิษฐานว่าจะเป็น ปรับรายละเอียดเหล่านี้ให้เหมาะกับความต้องการของคุณตามต้องการ
รูปแบบ
ลิงก์ไปยังเอกสาร PuTTY ที่เกี่ยวข้อง
SSH-2
เมื่อคุณบันทึกที่สำคัญโดยใช้เครื่องกำเนิดไฟฟ้าที่สำคัญฉาบโดยใช้ปุ่ม "บันทึกคีย์สาธารณะ" ก็จะถูกบันทึกไว้ในรูปแบบที่กำหนดโดยRFC 4716
ตัวอย่าง:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "github-example-key"
AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYF
i2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcp
pY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3
oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEA
ip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9
tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw==
---- END SSH2 PUBLIC KEY ----
OpenSSH
รูปแบบนี้ไม่ได้รับการบันทึกโดยเครื่องกำเนิดไฟฟ้า อย่างไรก็ตามมันถูกสร้างขึ้นและแสดงในกล่องข้อความที่ชื่อว่า "คีย์สาธารณะสำหรับวางลงในไฟล์ OpenSSH Authorized_keys" หากต้องการบันทึกเป็นไฟล์คุณต้องคัดลอกจากกล่องข้อความด้วยตนเองและวางลงในไฟล์ข้อความใหม่
สำหรับคีย์ที่แสดงด้านบนนี้จะเป็น:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw== github-example-key
รูปแบบของคีย์นั้นเรียบง่ายssh-rsa <signature> <comment>
และสามารถสร้างได้โดยการจัดรูปแบบไฟล์ SSH-2 ใหม่
การสร้างคีย์สาธารณะใหม่
หากคุณใช้ประโยชน์ssh-agent
คุณจะสามารถเข้าถึงได้ssh-keygen
ด้วย
หากคุณมีคีย์ส่วนตัว OpenSSH ( id_rsa
ไฟล์) คุณสามารถสร้างไฟล์คีย์สาธารณะ OpenSSH โดยใช้:
ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
หากคุณมีเพียง PUTTY Private Key ( id_rsa.ppk
ไฟล์) คุณจะต้องทำการแปลงก่อน
- เปิดPuTTY Key Generator
- บนแถบเมนูคลิก "ไฟล์"> "โหลดคีย์ส่วนตัว"
- เลือก
id_rsa.ppk
ไฟล์ของคุณ
- บนแถบเมนูคลิก "Conversion"> "ส่งออกคีย์ OpenSSH"
- บันทึกไฟล์เป็น
id_rsa
(ไม่มีนามสกุล)
ตอนนี้คุณมีคีย์ส่วนตัว OpenSSH แล้วคุณสามารถใช้ssh-keygen
เครื่องมือดังกล่าวข้างต้นเพื่อดำเนินการปรับแต่งคีย์ได้
โบนัส: รูปแบบคีย์สาธารณะที่เข้ารหัส PKCS # 1 PEM
บอกตามตรงว่าฉันไม่รู้ว่าคีย์นี้ใช้ทำอะไรเพราะฉันไม่ต้องการมัน แต่ฉันมีไว้ในบันทึกของฉันฉันได้รวบรวมมาหลายปีแล้วและฉันจะรวมไว้ที่นี่เพื่อความดีงาม ไฟล์จะมีลักษณะดังนี้:
-----BEGIN RSA PUBLIC KEY-----
MIIBCAKCAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5Ew
gnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8D
Gm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48
ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8
hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D
6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElwIBJQ==
-----END RSA PUBLIC KEY-----
ไฟล์นี้สามารถสร้างได้โดยใช้คีย์ส่วนตัว OpenSSH (ตามที่สร้างใน "การสร้างคีย์สาธารณะใหม่" ด้านบน) โดยใช้:
ssh-keygen -f ~/.ssh/id_rsa -y -e -m pem > ~/.ssh/id_rsa.pem
หรือคุณสามารถใช้คีย์สาธารณะ OpenSSH โดยใช้:
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pem > ~/.ssh/id_rsa.pem
อ้างอิง: