แปลงรูปแบบไฟล์ PEM เป็น PPK


126

มีวิธีแปลงไฟล์ PEM เป็นไฟล์ PPK หรือไม่? (คุณอาจเดาได้ว่า Amazon EC2 ให้ไฟล์ PEM แก่ฉันและฉันจำเป็นต้องใช้รูปแบบ PPK สำหรับการเชื่อมต่อ SSH)


1
ไม่เคยได้ยินรูปแบบ ppk แต่ฉันสงสัยว่ามีอะไรใน. NET สำหรับมัน
ประธาน James K. Polk

6
PPK คือรูปแบบไคลเอนต์ Putty ฉันไม่คิดว่า. NET มีส่วนเกี่ยวข้องกับมัน
Borealid

2
ตกลงฉันไม่รู้เรื่องนี้ ... ดังนั้น PPK เป็นเพียงรูปแบบที่เป็นกรรมสิทธิ์ / แปลก ๆ ที่มีอยู่ใน Putty-land เท่านั้น?
LoneRanger

1
นอกจากนี้ยังเป็นรูปแบบเดียวที่ FileZilla ยอมรับอย่างไม่เป็นประโยชน์
Ryder

และรูปแบบเริ่มต้นที่ AmazonWebServices ใส่คีย์ไว้
Kzqai

คำตอบ:


230

ใช้PuTTYGen

การสร้างและใช้คีย์ SSH

ภาพรวม

vCloud Express มีความสามารถในการสร้าง SSH Keys สำหรับเซิร์ฟเวอร์ Linux ฟังก์ชันนี้จะช่วยให้ผู้ใช้สามารถสร้างคีย์ที่กำหนดเองได้หลายรายการโดยเลือกตัวเลือก "บัญชีของฉัน / การจัดการคีย์" เมื่อสร้างคีย์แล้วผู้ใช้จะต้องเลือกคีย์ SSH ที่ต้องการในระหว่างกระบวนการ“ สร้างเซิร์ฟเวอร์” สำหรับ Linux

สร้างและใช้คีย์ SSH

  1. สร้างคีย์
    • ไปที่“ บัญชีของฉัน”
    • เลือก“ การจัดการคีย์”
    • สร้างคีย์ใหม่
      • ในระหว่างขั้นตอนการสร้างคีย์คุณจะได้รับแจ้งให้ดาวน์โหลดไฟล์คีย์ส่วนตัวในรูปแบบ. PEM คุณจะไม่สามารถดาวน์โหลดคีย์ส่วนตัวได้อีกเนื่องจากไม่ได้เก็บไว้ใน vCloud Express
      • ช่องทำเครื่องหมาย "ค่าเริ่มต้น" ใช้สำหรับ API
  2. ปรับใช้เซิร์ฟเวอร์และเลือกคีย์
  3. เชื่อมต่อ

    • SSH (Mac / ลินุกซ์)
      • คัดลอกไฟล์. PEM ไปยังเครื่องที่คุณจะเชื่อมต่อ
      • ตรวจสอบให้แน่ใจว่าสิทธิ์ในไฟล์. PEM เหมาะสม (chmod 600 file.pem)
      • เชื่อมต่อกับคำสั่ง ssh: ssh vcloud @ ipaddress –i privkey.pem
    • ผงสำหรับอุดรู (Windows)
      • ดาวน์โหลด Putty และ puttygen จาก - ที่นี่
      • ใช้ puttygen เพื่อแปลงไฟล์. PEM เป็นไฟล์. PPK
      • เริ่ม puttygen และเลือก“ Load”
      • เลือกไฟล์. PEM ของคุณ
      • Putty จะแปลงรูปแบบ. PEM เป็นรูปแบบ. PPK ใส่คำอธิบายภาพที่นี่
      • เลือก“ บันทึกคีย์ส่วนตัว” ไม่จำเป็นต้องใช้ข้อความรหัสผ่าน แต่สามารถใช้ได้หากต้องการความปลอดภัยเพิ่มเติม
    • เชื่อมต่อกับ Putty

      • เปิด Putty และป้อนที่อยู่ IP ของโฮสต์ หากเชื่อมต่อกับที่อยู่ส่วนตัว 10.X คุณต้องสร้างการเชื่อมต่อ SSL VPN ก่อน
      • ไปที่ Connection / SSH / Auth
      • คลิก "เรียกดู" และเลือกไฟล์. PPK ที่คุณส่งออกจาก puttygen ใส่คำอธิบายภาพที่นี่

      • คลิก "เปิด" เมื่อการเชื่อมต่อปรากฏขึ้นให้ป้อนชื่อผู้ใช้ (ค่าเริ่มต้นคือ vcloud)

คำแนะนำคัดลอกมาจากที่นี่


ขอบคุณฉันทำสิ่งนี้และได้ผล! LoneRanger ฉันคิดว่าคุณสามารถทำเครื่องหมายว่านี่เป็นคำตอบที่ถูกต้อง :-)
Kevin P.

65

ฉันค่อนข้างตกใจที่ยังไม่ได้รับคำตอบเนื่องจากวิธีแก้ปัญหานั้นง่ายมาก

ดังที่กล่าวไว้ในโพสต์ก่อนหน้านี้คุณไม่ต้องการแปลงโดยใช้ C # แต่เพียงครั้งเดียว นี่เป็นเรื่องง่ายที่จะทำกับ PuTTYGen

  1. ดาวน์โหลด. pem ของคุณจาก AWS
  2. เปิด PuTTYgen
  3. คลิก "โหลด" ทางด้านขวาประมาณ 3/4 ลง
  4. ตั้งค่าประเภทไฟล์เป็น *. *
  5. เรียกดูและเปิดไฟล์. pem ของคุณ
  6. PuTTY จะตรวจจับทุกสิ่งที่ต้องการโดยอัตโนมัติและคุณเพียงแค่คลิก "บันทึกคีย์ส่วนตัว" และคุณสามารถบันทึกคีย์ ppk ของคุณเพื่อใช้กับ PuTTY

สนุก!


2
สำหรับผู้ที่แก้ปัญหานี้ไม่ได้ทำงานปรับปรุง PuTTYgen ของคุณจาก chiark.greenend.org.uk/~sgtatham/putty/download.html ของฉันคือปี 2005 และไม่สามารถเปิด PEM ได้
mistika

31
มันตลกมากเมื่อคุณกำลังมองหาวิธีทำบางสิ่งที่คุณไม่ได้ทำมานานและคุณพบคำตอบ stackoverflow ที่คุณให้ไว้เมื่อ 2.5 ปีก่อนหน้านี้
trex005

2
@ trex005 ตอนนี้ stackoverflow ดูเหมือนจะเป็นส่วนเสริมของหน่วยความจำของเราเราไม่จำเป็นต้องจำทุกอย่างในหัว
Paramvir Singh Karwal

@ParamvirSinghKarwal คุณพูดถูกมาก ... ฉันอาจจะใช้โพสต์นี้ทุกปีหรือสองปีสำหรับ memroy ของฉันเอง แต่ฉันไม่ได้แสดงความคิดเห็นอีกต่อไปเพราะมันจะน่ารำคาญ!
trex005

16
  1. ดาวน์โหลด puttygen
  2. จากนั้นเปิดผงสำหรับอุดรู
  3. คลิกโหลด
  4. ตั้งค่าประเภทไฟล์เป็น. เอกสารทั้งหมด
  5. บันทึก PrivateKey
  6. จากนั้นคุณสามารถบันทึกชื่อไฟล์ใดก็ได้ที่กลายเป็นไฟล์ ppk

5

ในการเชื่อมต่อ SSH กับอินสแตนซ์ AWS EC2 คุณไม่จำเป็นต้องแปลงไฟล์. PEM เป็นไฟล์ PPK แม้กระทั่งบนเครื่อง windows, SSH แบบง่ายโดยใช้เครื่องมือ 'git bash' ไม่จำเป็นต้องดาวน์โหลดและแปลงซอฟต์แวร์เหล่านี้ - หวังว่านี่จะช่วยประหยัดเวลาในการดาวน์โหลดและแปลงคีย์และช่วยให้คุณมีเวลามากขึ้นในการทำ EC2


1
หรือใน Windows 10 "Bash บน ubuntu บน windows"
andrew lorien

คุณต้องใช้ ppk เพื่อทำ ssh โดยใช้ผงสำหรับอุดรู
sudip

คำตอบถูกต้อง แต่ไม่ได้ตอบคำถามในชื่อเรื่อง
Oliver Dungey

5

หากคุณมีเครื่อง Linux เพียงแค่ติดตั้ง puttygen ในระบบของคุณและใช้คำสั่งด้านล่างเพื่อแปลงคีย์

pem ถึง ppk ใช้คำสั่งด้านล่าง:

puttygen keyname -o keyname.ppk

คำสั่งด้านล่างใช้เพื่อแปลง ppk เป็น pem ไม่ใช่ pem เป็น ppk

puttygen filename.ppk -O private-openssh -o filename.pem


และคุณสามารถติดตั้งผงสำหรับอุดรูบน Linux distro ส่วนใหญ่ - มีรายการดีๆอยู่ที่นี่: command-not-found.com/puttygen
Oliver Dungey

มีอะไรผิดพลาดในด้านล่างนี้ชมเชยการแปลง pem เป็น ppk puttygen keyname -o keyname.ppk
Deepak Sharma

คุณได้แก้ไขและพูดถึงคำสั่งที่ใช้สำหรับการแปลง ppk เป็น pem
Deepak Sharma

3
  1. บันทึก YourPEMFILE.pem ลงในไดเร็กทอรี. ssh ของคุณ
  2. เรียกใช้ puttygen จาก Command Prompt

    ก. คลิกปุ่ม“ โหลด” เพื่อ“ โหลดไฟล์คีย์ส่วนตัวที่มีอยู่”
    b. เปลี่ยนตัวกรองไฟล์เป็น“ ไฟล์ทั้งหมด ( . )
    c. เลือก YourPEMFILE.pem
    d. คลิกเปิด
    e. Puttygen แสดงข้อความแจ้งว่านำเข้า Foreign Key สำเร็จแล้ว คลิกตกลง
    ฉ. คลิกปุ่ม "บันทึกคีย์ส่วนตัว"
    g. เมื่อถูกถามว่าแน่ใจหรือไม่ว่าต้องการบันทึกโดยไม่ป้อนรหัสผ่านให้ตอบว่า“ ใช่”
    ซ. ป้อนชื่อไฟล์ YourPEMFILE.ppk
    i. คลิก "บันทึก"


2

แปลงไฟล์. pem เป็น. ppk สำหรับ Windows 10

คุณต้องดำเนินการดังต่อไปนี้:


1.ดาวน์โหลดPuTTYgenกับการประกวด
2.กดปุ่ม"โหลด"และเลือกไฟล์".pem" ของคุณ
3.กดปุ่ม"บันทึกคีย์ส่วนตัว"และบันทึกไฟล์".ppk" ของคุณ
4.เปิดประกวดและกด"เพิ่มคีย์"ปุ่ม เพียงทั้งหมด เรียกใช้ Pageant ในพื้นหลังต่อไป
5.ตอนนี้เข้าสู่ระบบผ่านSSHหรือSFTPโดยไม่ต้องเลือกฟิลด์รหัสผ่าน


ใส่คำอธิบายภาพที่นี่


ใส่คำอธิบายภาพที่นี่


ใส่คำอธิบายภาพที่นี่



0

ฉันใช้ ZOC Terminal Emulator เวอร์ชันทดลองใช้และใช้งานได้ ยอมรับไฟล์ * .pem ของ Amazon ได้อย่างง่ายดาย

เคล็ดลับคือคุณต้องระบุ "ec2-user" แทน "root" สำหรับชื่อผู้ใช้ - แม้ว่าจะมีตัวอย่างที่แสดงในคอนโซล EC2 ซึ่งไม่ถูกต้อง! ;-)


0

ฉันมีปัญหาเดียวกันกับ PuttyGen ที่ไม่ต้องการนำเข้าคีย์ส่วนตัว openSSH ฉันลองทุกอย่างแล้วและสิ่งที่พบคือ PuttyGen เวอร์ชันเก่าไม่รองรับการนำเข้า OpenSSH เมื่อฉันดาวน์โหลด Putty ล่าสุดแล้ว puttygen ก็อนุญาตให้นำเข้าคีย์ส่วนตัว openssh ได้ดี ตอนนี้ฉันมีรูที่ด้านข้างของโต๊ะทำงานเพื่อเอาหัวโขกกับมันในชั่วโมงที่ผ่านมา

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