คุณจะแปลงคีย์ส่วนตัว SSH เป็น. ppp บนบรรทัดคำสั่งของ Windows ได้อย่างไร


13

ssh-keygenฉันได้สร้างคู่คีย์ด้วย ตอนนี้ฉันต้องการใช้คู่คีย์เดียวกันกับแอปพลิเคชันที่ใช้ PuTTY

เนื่องจากฉันทำงานในสภาพแวดล้อม CLI ฉันต้องการแปลงคีย์เป็น.ppkรูปแบบจากภายในสภาพแวดล้อมนี้

เห็นได้ชัดว่าคุณสามารถใช้puttygen openssh_private_key -o output_filename.ppkในสภาพแวดล้อมที่เหมือน UNIX แต่รุ่นของ Windows puttygenจะโหลดคีย์และแจ้งให้คุณใช้ GUI เพื่อส่งออกคีย์

โหมดแบทช์สำหรับ Windows PuTTYgenแนะนำว่าสิ่งนี้ไม่สามารถทำได้อย่างน้อยในputtygenปัจจุบัน ฉันยินดียอมรับและตัวเลือกที่ใช้วิธีการอื่นแม้ว่า

ฉันจะแปลงคีย์จากบรรทัดคำสั่งได้อย่างไร

คำตอบ:


14

WinSCPสนับสนุนการแปลงบรรทัดคำสั่งของคีย์ส่วนตัวจาก OpenSSH (หรือ ssh.com) รูปแบบที่จะฉาบ.ppkรูปแบบ

ใช้/keygenสวิตช์:

winscp.com /keygen mykey.pem /output=mykey.ppk

(ฉันเป็นผู้เขียน WinSCP)


หรือคุณสามารถคอมไพล์ / รันUnix command-lineputtygenโดยใช้ Cygwin


หรือสร้างเครื่องมือของคุณเองจากรหัส PuTTY มันเป็นโอเพ่นซอร์ส มันค่อนข้างง่าย (นั่นคือสิ่งที่ WinSCP ทำ)

ใช้ในimport_ssh2การโหลด.pem:

ssh2_userkey *import_ssh2(const Filename *filename, int type,
                          char *passphrase, const char **errmsg_p);

ใช้ssh2_save_userkeyเพื่อบันทึกเป็น.ppk:

bool ssh2_save_userkey(
    const Filename *filename, ssh2_userkey *key, char *passphrase);

1
ฉันพยายามสร้างสคริปต์อำนวยความสะดวกเท่านั้น แต่นี่เป็นข้อมูลที่มีประโยชน์ที่สุดที่ฉันจะได้รับ
Der Hochstapler

1
WinSCP 5.8 beta พร้อมการสนับสนุนบรรทัดคำสั่งสำหรับการแปลงคีย์ส่วนตัวได้รับการเผยแพร่แล้ว
Martin Prikryl

น่ากลัว! ฉันจะให้มันลองในครั้งต่อไปปัญหาขึ้นมา :)
Der Hochstapler

หากแฮงค์รอการกดปุ่มคุณอาจใช้ winscp.exe แทน winscp.com WinSCP มีวิธีแปลก ๆ ในการระบุโหมดที่ไม่โต้ตอบ
Robert Važan

@ RobertVažanไม่เกี่ยวกับการไม่โต้ตอบ หากคุณต้องการสคริปต์บางอย่างคุณควรใช้แอปพลิเคชันคอนโซลไม่ใช่แอปพลิเคชัน GUI อ่านข้อมูลเกี่ยวกับexecutables WinSCP
Martin Prikryl

6

หมายเหตุ: OP ต้องการบรรทัดคำสั่ง คำตอบนี้ใช้แอปพลิเคชั่นกราฟิก ... จะทิ้งคำตอบไว้ที่นี่ในกรณีที่มีประโยชน์

มีวิธีแก้ปัญหาที่อาจจะง่ายกว่า

1) ดาวน์โหลด (ถ้าคุณไม่ได้มีมัน) การประยุกต์ใช้ฉาบ Key Generator (PuTTYgen) โดยไปที่นี่หรือที่นี่

2) เปิด PuTTYgen

3) คลิกการแปลงจากนั้นคลิกปุ่มนำเข้า

4) ค้นหาไฟล์คีย์ของคุณจากนั้นคลิกเปิด

ตอนนี้คุณสามารถบันทึกคีย์ของคุณเป็นไฟล์ PPK ได้โดยคลิกปุ่มบันทึกคีย์ส่วนตัว

คุณสามารถบันทึกรุ่นสาธารณะของกุญแจของคุณได้โดยคลิกที่ปุ่มบันทึกกุญแจสาธารณะ

https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/

https://kb.site5.com/shell-access-ssh/how-to-convert-ssh-keys-to-ppk-format/


คำถามที่เป็นเรื่องเกี่ยวกับ"Windows บรรทัดคำสั่ง"
Martin Prikryl

@MartinPrikryl - ถูกต้องฉันจะจดบันทึกไว้ ฉันสามารถลบมันออกได้ แต่ฉันเห็นกรณีที่คล้ายกันมากซึ่งผู้อ่านตัดสินคำตอบที่มีประโยชน์อยู่ดี และนี่คือเป้าหมายหลักของ SO
sancho.s

4

หากคุณกำลังใช้งานบน linux หรือสร้างรหัสของคุณที่นั่น (หรือบางทีคุณสามารถ?) จากนั้นคุณสามารถใช้

puttygen -t rsa -C "my home key" -o mykey.ppk

หากคุณยังไม่มี puttygen อยู่แล้วsudo apt install putty-toolsหรือคำสั่งที่เหมาะสมในระบบของคุณเพื่อติดตั้ง

มิฉะนั้นถ้าคุณอยู่บน windows ฉันไม่สามารถเห็นว่าคุณสามารถทำได้จริง ๆ นอกเหนือจากการสร้างรหัสบนเครื่องอื่น


1
นี่คือสิ่งที่ฉันใช้จนถึงตอนนี้ แต่สิ่งที่น่ารำคาญอย่างหนึ่งก็คือใน Windows อย่างน้อยก็เปิดหน้าต่าง puttygen ขึ้นมาไม่พบวิธีที่จะปิดมันโดยอัตโนมัติ
Purefan

1
คำตอบที่ดีที่สุด ไม่มีการดาวน์โหลดด้วยตนเองเพียงsudo apt install putty-toolsและจากนั้นputtygenคำสั่งด้านบนและคุณทำเสร็จแล้ว "my home key"คุณสามารถใส่เส้นทางไปยังคีย์เดิมแทน
Andrew Koster
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.