แปลง Amazon .pem key เป็น Putty .ppk key Linux


49

ฉันสร้างและดาวน์โหลด.pemรหัสส่วนตัวจาก AWS แล้ว อย่างไรก็ตามในการใช้งาน Putty เพื่อเชื่อมต่อกับเครื่องเสมือนฉันต้องมีรหัสนั้นใน.ppkรูปแบบ กระบวนการของการแปลงมีรายละเอียดในประมาณ 20 บรรทัดที่นี่:

ฉันใช้ Linux Mint (Ubuntu distro) และฉันรู้ว่าฉันสามารถใช้ puttygen ในเทอร์มินัล อย่างไรก็ตามฉันไม่ทราบวิธีใช้เครื่องมือนี้หรือวิธีกำหนดค่าพารามิเตอร์ที่จำเป็น เมื่อฉันพิมพ์ puttygen - ช่วยฉันได้

PuTTYgen unidentified build, Aug  7 2013 12:24:58
Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]
  -t    specify key type when generating (rsa, dsa, rsa1)
  -b    specify number of bits when generating key
  -C    change or specify key comment
  -P    change key passphrase
  -q    quiet: do not display progress bar
  -O    specify output type:
           private             output PuTTY private key format
           private-openssh     export OpenSSH private key
           private-sshcom      export ssh.com private key
           public              standard / ssh.com public key
           public-openssh      OpenSSH public key
           fingerprint         output the key fingerprint
  -o    specify output file
  -l    equivalent to `-O fingerprint'
  -L    equivalent to `-O public-openssh'
  -p    equivalent to `-O public'

แต่ฉันไม่รู้ว่าจะทำอย่างไรในสิ่งที่เว็บไซต์บอกให้ฉันทำ

ฉันจะทำสิ่งที่เว็บไซต์บอกให้ฉันทำโดยใช้ puttygen บนเทอร์มินัล


ที่เกี่ยวข้อง: unix.stackexchange.com/questions/74545/…
slm

คำตอบ:


70

การใช้ GUI

เห็นนี้ SO Q & A เกี่ยวกับวิธีการที่จะทำสิ่งที่คุณต้องการหัวข้อ: แปลงพีอีเอ็มเพื่อ PPK รูปแบบไฟล์

สิ่งที่สกัดมา

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

การใช้บรรทัดคำสั่ง

ถ้าในขณะที่คุณต้องการในการแปลง.pemที่จะ.ppkยื่นผ่านทางเครื่องมือบรรทัดคำสั่งputtygenผมไม่เจอการแก้ปัญหานี้ในดังนั้นใน Q & A นี้ชื่อ:

สิ่งที่สกัดมา

$ puttygen keyfile.pem -O private -o avdev.ppk

สำหรับรหัสสาธารณะ:

$ puttygen keyfile.pem -L

อ้างอิง


ขั้นตอนที่ 2 ถึง 6 ยังทำงานกับไฟล์คีย์ส่วนตัวอื่น ๆ (เช่นไฟล์ผลลัพธ์จากคำสั่ง Git Bash ssh-keygen) ขอบคุณ!
AtAFork

ไม่ทำงานอีกต่อไปจากบรรทัดคำสั่ง
Aryeh Beitz

ความคิดใด ๆ เกี่ยวกับวิธีการทำงานกับ OSX, PuTTYgen ไม่พร้อมใช้งาน
Qasim

หากคุณต้องการที่จะเพิ่มรหัสผ่าน / -Pข้อความรหัสผ่านเพื่อคีย์ส่วนตัวเพียงแค่เพิ่ม puttygen k.pem -PO private -o k.ppkเช่น
CPHPython

15

หากคุณใช้ GNU / Linux คุณไม่จำเป็นต้องใช้ Putty ส่วนหนึ่งของบทช่วยสอนนั้นมุ่งเน้นไปที่ผู้ใช้ Windows

เพียงแค่ตั้งค่าการ.pemอนุญาตไฟล์ของคุณเป็นr--โดยการทำchmod 400 mykey.pemจากนั้นคุณสามารถส่งตรงไปที่ ssh:

ssh -i mykey.pem user@aws-host.amazon.com 

เหตุผลที่ฉันพยายามใช้ putty คือเพื่อให้ฉันสามารถทำตามคำแนะนำในการกวดวิชาเพล็กซ์นี้ หากมีวิธีอื่นในการทำเช่นนั้นโปรดอธิบาย
Flame_Phoenix

เซิร์ฟเวอร์ Plex Media ของคุณอยู่ในเครื่อง AWS และคุณกำลังพยายามเจาะช่องสัญญาณจากเวิร์กสเตชันโรงกษาปณ์ของคุณฉันจะได้รับสิ่งนี้ใช่ไหม คุณควรเปิดคำถามอื่นที่อธิบายสิ่งนี้ แต่มีคำถามมากมายที่อธิบายวิธีทำ SSH tunneling
François Feugeas

1
โดยใช้คำสั่งที่คุณกล่าวถึงฉันสามารถเข้าสู่อินสแตนซ์ AWS ระยะไกลได้ ที่จริงฉันต้องการถ่ายโอนไฟล์ที่ฉันใช้คำสั่ง (ในกรณีที่ช่วยใครบางคน) sftp -oIdentityFile=mykey.pem user@<publicIP>... ขอบคุณโพสต์ของคุณช่วยฉันแก้ปัญหาที่ฉันมีมานานกว่า 5 ชั่วโมง
Subham Tripathi

0

ใช้คำสั่งด้านล่างมันทำงานได้สำหรับฉันในอูบุนตู

puttygen /home/abc/Downloads/dockerkey1.pem -o home/abc/Downloads/dockerkey1.ppk -O private

ตัวอย่าง

puttygen pemKey.pem -o ppkKey.ppk -O private


คำอธิบายนี้ได้อธิบายไว้แล้วในคำตอบที่ยอมรับแล้ว คุณไม่จำเป็นต้องใช้sudoสิ่งนี้หากผู้ใช้ปัจจุบันของคุณมีสิทธิ์ในการเขียนในไดเรกทอรีผลลัพธ์
Stephen Kitt

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