3 วิธีในการสร้างคีย์ SSH บน Windows

เผยแพร่แล้ว: 2023-11-19

หากคุณทำงานผ่านการประมวลผลแบบคลาวด์ เข้าถึงเซิร์ฟเวอร์ระยะไกลที่ไม่ได้อยู่ในเครือข่ายปัจจุบันหรือในบ้านของคุณ คุณอาจคุ้นเคยกับ SSH หรือ Secure Shell Keys อยู่แล้ว เนื่องจากคีย์ SSH มีความปลอดภัยมากกว่าชื่อผู้ใช้และรหัสผ่านแบบเดิมหลายเท่า จึงมักใช้เพื่อเข้าถึงเวิร์กสเตชันที่ต้องอาศัยเซิร์ฟเวอร์ระยะไกล คีย์ SSH ช่วยให้เข้าถึงพนักงานหรือบุคคลอื่นที่พวกเขาอนุญาตให้เข้าสู่ระบบเซิร์ฟเวอร์ได้ง่ายและปลอดภัย

generate ssh keys on windows

ข้อดีอีกประการของคีย์ SSH คือการสร้างอย่างรวดเร็ว ซึ่งสามารถทำได้ภายในไม่กี่นาทีและไม่มีขั้นตอนที่ซับซ้อน ทั้งหมดนี้สามารถทำได้ด้วยคอมพิวเตอร์ Windows ธรรมดา และนั่นคือสิ่งที่เราจะกล่าวถึงในบทความนี้ ไปกันเถอะ!

สารบัญ

SSH Keygen คืออะไร

คีย์เจน SSH ถือได้ว่าเป็นเวอร์ชันการเข้าถึงชื่อผู้ใช้และรหัสผ่านแบบดั้งเดิมที่ซับซ้อนกว่าและปลอดภัยกว่ามาก คีย์ SSH ถูกสร้างขึ้นแยกกันสำหรับผู้ใช้แต่ละคนโดยใช้อัลกอริธึมที่แตกต่างกัน และมีการสุ่มสูงเพื่อให้แน่ใจว่ามีการปกป้องข้อมูล

โดยทั่วไปแล้วคีย์เจน SSH ใช้เพื่อเข้าถึงเซิร์ฟเวอร์คลาวด์อย่างปลอดภัย อย่างไรก็ตาม ยังสามารถใช้ในสถานที่ทำงานอื่นๆ เพื่อให้สิทธิ์การเข้าถึงแก่ผู้ใช้และพนักงาน เช่น ในศูนย์ข้อมูล บริษัท และอื่นๆ การสร้าง Keygen สามารถทำได้บนเครื่อง Windows โดยใช้สามวิธีที่อธิบายไว้ด้านล่าง

SSH Keygen ทำงานอย่างไร?

ก่อนที่คุณจะเรียนรู้วิธีสร้างคีย์ SSH สิ่งสำคัญคือต้องมีแนวคิดคร่าวๆ เกี่ยวกับวิธีการทำงานของคีย์เหล่านั้น เมื่อสร้างคีย์ SSH โดยทั่วไปคุณจะต้องสร้างคู่คีย์ – คู่สาธารณะและส่วนตัว ตามชื่อเลย ไม่ควรแชร์คีย์ส่วนตัวกับผู้อื่น

ในทางกลับกัน กุญแจสาธารณะจะอยู่บนเซิร์ฟเวอร์ของอีกฝ่าย ไม่ว่าจะเป็นนายจ้างหรือบริษัทของคุณ ด้วยวิธีนี้ กุญแจสาธารณะและกุญแจส่วนตัวสามารถสร้างการเชื่อมต่อระหว่างคอมพิวเตอร์ที่เข้าถึงและเซิร์ฟเวอร์กลาง และสื่อสารระหว่างกัน หากล็อคและกุญแจตรงกัน คุณจะได้รับสิทธิ์เข้าถึง

สร้างคีย์ SSH โดยใช้ Command Prompt

พรอมต์คำสั่งของ Windows เป็นวิธีที่ดีที่สุดในการทำสิ่งนี้ เนื่องจากมีอยู่แล้วในระบบตามค่าเริ่มต้น การสร้างคีย์ SSH ดำเนินการในไม่กี่ขั้นตอน และคุณไม่จำเป็นต้องใช้เครื่องมือเพิ่มเติมใดๆ

Windows 11 มาพร้อมกับ Windows Terminal ตามค่าเริ่มต้น แต่เราขอแนะนำให้ดาวน์โหลดจาก Microsoft Store หากคุณใช้เวอร์ชันเก่า มันสามารถเรียกใช้ Command Prompt, Windows PowerShell และ Windows Subsystem สำหรับ Linux ในขณะที่ให้อินเทอร์เฟซที่สะอาดตาและใช้งานง่ายยิ่งขึ้น

  1. กด ปุ่ม Windows และค้นหา Terminal หากต้องการใช้ Command Prompt ต่อไป ให้ค้นหา cmd แทน
    open windows terminal
  2. พิมพ์ ssh-keygen แล้วกด Enter
    type ssh keygen
  3. คุณจะได้รับแจ้งให้ป้อนเส้นทางบันทึกที่คุณเลือกและชื่อไฟล์ที่จะบันทึก คุณสามารถข้ามจุดแรกและบันทึกคีย์ลงในตำแหน่งเริ่มต้นของพีซีได้ ซึ่งโดยปกติจะเป็นไดรฟ์ C ไม่ต้องกังวล; ตำแหน่งของไฟล์จะแสดงอยู่ข้างๆ
    enter location pathway
  4. คุณจะได้รับแจ้งให้ป้อนข้อความรหัสผ่านเพื่อป้องกันเพิ่มเติม ขอย้ำอีกครั้งว่าคุณไม่สามารถรักษาความปลอดภัยกุญแจด้วยข้อความรหัสผ่านได้ แต่เราขอแนะนำอย่างยิ่งให้หลีกเลี่ยงมัน จากนั้นกดปุ่ม Enter
    enter passphrase
  5. ป้อนข้อความรหัสผ่านอีกครั้งเพื่อยืนยัน
    enter passphrase again to confirm it
  6. ข้อความยืนยันจะปรากฏขึ้นโดยระบุว่าคีย์ของคุณถูกสร้างขึ้นและบันทึกในตำแหน่งที่ระบุ
    the generated ssh keys

ตามค่าเริ่มต้น Windows 11 จะสร้างคีย์ที่เป็นไปตามอัลกอริทึม RSA 2048 บิต อย่างไรก็ตาม หากคุณต้องการคีย์ SSH ที่ใช้อัลกอริทึมอื่น ให้เพิ่ม -t (ชื่อของอัลกอริทึม) หลังคำสั่งแรกในขั้นตอนที่สอง ตัวอย่างเช่น GitHub ขอแนะนำให้ใช้อัลกอริทึม ed25519 ดังนั้นคุณต้องพิมพ์ ssh-keygen -t ed25519 เพื่อสร้างคีย์ที่เกี่ยวข้อง

ed25519 algorithm

นอกจากนี้ ไม่เพียงแต่ไฟล์เดียวแต่สองไฟล์จะถูกบันทึกในตำแหน่งที่ระบุ โดยไฟล์หนึ่งไม่มีและอีกไฟล์หนึ่งมีนามสกุล .pub ตามชื่อที่แนะนำ ไฟล์ที่มีนามสกุล .pub คือคีย์สาธารณะ ในขณะที่ไฟล์ที่ไม่มีนามสกุลคือคีย์ส่วนตัวของคีย์ SSH ที่สร้างขึ้น แน่นอนว่าคุณต้องไม่แชร์คีย์ส่วนตัวกับผู้อื่น

pair of ssh keys generated

สร้างคีย์ SSH โดยใช้ WSL

หากคุณต้องการใช้ Linux Windows Subsystem สำหรับ Linux คือคำตอบสำหรับคุณ แม้ว่ากระบวนการจะคล้ายกันไม่มากก็น้อย แต่ก็แนะนำสำหรับผู้ที่รอบรู้ในโลกของ Linux ถ้าไม่คุณควรยึดติดกับวิธีแรก

ตามข้อกำหนดเบื้องต้น คุณจะต้องมีระบบย่อย Windows สำหรับ Linux (WSL) บนพีซี Windows 10 ของคุณ ซึ่งคุณสามารถดาวน์โหลดได้จาก Microsoft Store ผู้ใช้ Windows 11 ไม่จำเป็นต้องดาวน์โหลดเครื่องมือ WSL เนื่องจาก Windows Terminal ในตัวรองรับการรันคำสั่ง WSL ภายในแอปเป็นอย่างดี ตามที่กล่าวไว้ข้างต้น คุณสามารถดาวน์โหลด Windows Terminal ได้จาก Microsoft Store หากคุณใช้ Windows เวอร์ชันเก่า

  1. เปิด เทอร์มินัล Windows หรือคุณสามารถเปิด หน้าต่างพร้อมรับคำสั่ง ภายใน WSL ได้
    open windows terminal
  2. ไม่เหมือนกับวิธีแรก คุณจะต้องระบุอัลกอริทึมของคีย์ที่จะสร้างขึ้น ตัวอย่างเช่น หากต้องการสร้างคีย์ RSA-4096 ให้พิมพ์ ssh-keygen -t rsa -b 4096 “[email protected] แล้วกด Enter การใส่ที่อยู่อีเมลของคุณถือเป็นสิ่งสำคัญเพื่อให้ระบุตัวตนได้ง่าย สามารถข้ามได้หากคุณสร้างคีย์โดยใช้ Windows Terminal เนื่องจาก Windows จะบันทึกชื่อและชื่อผู้ใช้พีซีของคุณโดยอัตโนมัติ
    enter wsl command
  3. ป้อนตำแหน่งของไฟล์ที่จะบันทึกและระบุรหัสผ่านหากจำเป็น คุณสามารถเลือกที่จะยึดตามค่าเริ่มต้นได้โดยการกด Enter
    enter passphrase
  4. ยืนยันข้อความรหัสผ่านของคุณโดยพิมพ์อีกครั้งและกด Enter
    confirm your passphrase

สร้างคีย์ SSH โดยใช้ PuTTY

หลายปีที่ผ่านมา PuTTY เป็นโซลูชั่นที่ดีที่สุดสำหรับการสร้างการสื่อสารระหว่างเซิร์ฟเวอร์และคอมพิวเตอร์ แม้ว่าไคลเอนต์ SSH ยังคงใช้งานอยู่ แต่ก็ไม่แพร่หลายอีกต่อไป อย่างไรก็ตาม PuTTY ยังคงเป็นตัวสร้างคีย์ SSH ที่มีความสามารถ ดังนั้นคุณสามารถทดลองใช้งานได้หากวิธีการข้างต้นทำให้คุณล้มเหลวด้วยเหตุผลบางประการ ก่อนดำเนินการต่อ ให้ดาวน์โหลดและตั้งค่าไคลเอ็นต์ PuTTY สำหรับ Windows PuTTY ยังสามารถดาวน์โหลดได้จาก Microsoft Store

  1. กด ปุ่ม Windows และค้นหา PuTTYgen เปิด .
    open puttygen client
  2. คุณจะต้องเลือกประเภทของคีย์ SSH ที่จะสร้าง เลือกประเภทคีย์ที่ต้องการและป้อนค่าบิตใต้ส่วน พารามิเตอร์ ตัวอย่างเช่น เลือก RSA แล้วป้อน 4096 เพื่อสร้างคีย์ประเภท RSA-4096 ประเภท EdDSA สามารถกำหนดค่าเพิ่มเติมได้โดยใช้เมนูแบบเลื่อนลงด้านข้างเพื่อรวม 255 บิต และคีย์รูปแบบประเภท Ed25519
    enter ssh key parameters
  3. เลือก สร้าง
    generate ssh keys
  4. โปรแกรมสร้าง PuTTY จะแจ้งให้คุณสุ่มเลื่อนเคอร์เซอร์ของคุณไปยังพื้นที่ว่างเพื่อเพิ่มการสุ่มของคีย์ ซึ่งจะเพิ่มความแรงของคีย์
    create randomness by moving cursor
  5. หลังจากสร้างคีย์แล้ว คุณสามารถระบุข้อความ รหัสผ่านได้ ยืนยันข้อความรหัสผ่านโดยป้อนอีกครั้งในช่องป้อนข้อมูลต่อไปนี้
    set a passphrase
  6. คลิกที่ บันทึกกุญแจสาธารณะ เพื่อบันทึกกุญแจสาธารณะในตำแหน่งที่คุณเลือก ชื่อไฟล์ควรมีนามสกุล .pub ต่อท้าย
    save public key
  7. บันทึกคีย์ส่วนตัวโดยคลิก บันทึกคีย์ส่วนตัว คุณจะพบคำเตือนหากคุณไม่ได้ตั้งข้อความรหัสผ่าน เลือก ใช่ เพื่อดำเนินการต่อโดยไม่คำนึงถึง
    save private key

โปรดทราบว่าคีย์ส่วนตัวเริ่มต้นใช้งานได้กับไคลเอ็นต์ที่เป็นกรรมสิทธิ์ของ PuTTY เท่านั้น หากเวิร์กสเตชันของคุณใช้งานกับไคลเอ็นต์ PuTTY ไม่ได้ วิธีที่ดีที่สุดคือส่งออกในรูปแบบ OpenSSH เพื่อให้มั่นใจถึงความเข้ากันได้แบบสากล หากต้องการทำสิ่งนี้ ให้เลือก Conversion ในขั้นตอนสุดท้ายแล้วคลิกที่ ส่งออกคีย์ OpenSSH

จะสร้างหลายคีย์ได้อย่างไร?

หากคุณต้องการคีย์ SSH หลายคีย์เพื่อเข้าสู่ระบบเซิร์ฟเวอร์ที่แตกต่างกัน คุณสามารถสร้างหลายคีย์ได้อย่างง่ายดาย ในการดำเนินการนี้ คุณสามารถทำซ้ำขั้นตอนข้างต้นใดๆ และสร้างคีย์ SSH เพิ่มเติมได้ แต่อย่าลืมติดป้ายกำกับชื่อไฟล์ตามนั้น หรือบันทึกไว้ในชื่อที่ไม่ซ้ำเพื่อหลีกเลี่ยงความสับสน เพื่อที่คุณจะได้ไม่ลืมข้อความรหัสผ่านของคีย์ ลองดูที่เครื่องมือจัดการรหัสผ่านฟรีที่ดีที่สุดเพื่อบันทึกข้อความรหัสผ่านของคีย์ที่สร้างขึ้น

โปรดจำไว้ว่าคุณต้องถ่ายโอนคีย์ของคุณด้วยตนเองเมื่อคุณเปลี่ยนไปใช้พีซีเครื่องใหม่ มิฉะนั้น คุณจะสูญเสียการเข้าถึงเซิร์ฟเวอร์และตำแหน่งของคุณ คุณสามารถสร้างคีย์ใหม่บนพีซีเครื่องใหม่ของคุณได้เสมอ แต่จะน่าเบื่อหากคุณมีไลบรารีคีย์ที่กว้างขวางอยู่แล้ว

สร้างคีย์ SSH ได้อย่างง่ายดาย

แค่นั้นแหละเพื่อน! กระบวนการสร้างคีย์ SSH นั้นง่ายดาย และด้วยแพลตฟอร์มที่เป็นทางการและบูรณาการอย่าง Windows Terminal คุณไม่จำเป็นต้องดาวน์โหลดแอปหรือซอฟต์แวร์แยกต่างหากด้วยซ้ำ แพลตฟอร์มอื่นๆ เช่น WSL และ PuTTY นั้นใช้งานง่ายและมีประสิทธิภาพไม่แพ้กัน อย่าลืมข้อความรหัสผ่านของกุญแจ และรักษากุญแจของคุณให้ปลอดภัยโดยไม่แบ่งปันกับผู้อื่น

คำถามที่พบบ่อยเกี่ยวกับ SSH Keygens

1. คีย์เจน SSH คืออะไร

SSH keygen เป็นการทดแทนชื่อผู้ใช้และรหัสผ่านแบบเดิมที่ทันสมัย ในทางเทคนิคแล้ว คีย์ SSH คือคีย์เสมือนที่สร้างขึ้น จับคู่ และใช้เพื่อเข้าถึงแพลตฟอร์มคลาวด์ ไซต์ และเซิร์ฟเวอร์ระยะไกล ประกอบด้วยสองคีย์ - หนึ่งคีย์สาธารณะและคีย์ส่วนตัว โดยคีย์แรกอยู่บนเซิร์ฟเวอร์ ในขณะที่คีย์ที่สองให้สิทธิ์การเข้าถึงเมื่อจับคู่อย่างเหมาะสม

2. ฉันจำเป็นต้องระบุข้อความรหัสผ่านหรือไม่?

ไม่ การสร้างคีย์ SSH ไม่จำเป็นต้องมีข้อความรหัสผ่านตามค่าเริ่มต้น อย่างไรก็ตาม เนื่องจากคีย์ SSH มีความละเอียดอ่อนและนำไปใช้ในทางที่ผิดได้ง่าย คุณจึงควรตรวจสอบให้แน่ใจว่าคีย์เหล่านั้นได้รับการจัดเก็บไว้อย่างปลอดภัย ข้อควรจำ: ยิ่งคุณสร้างคีย์ SSH มากเท่าใด คุณก็ยิ่งต้องจำข้อความรหัสผ่านสำหรับแต่ละคีย์มากขึ้นเท่านั้น

3. เหตุใดจึงมีการสร้างไฟล์สองไฟล์สำหรับคีย์ SSH เดียว

คีย์ SSH แต่ละคีย์ประกอบด้วยไฟล์ที่เกี่ยวข้องคู่หนึ่ง อันหนึ่งมีนามสกุล .pub และอีกอันไม่มีนามสกุล รหัสสาธารณะทำหน้าที่เหมือนล็อคและถูกส่งไปยังเซิร์ฟเวอร์กลางที่คุณต้องการเข้าสู่ระบบ ในขณะที่รหัสส่วนตัวจะถูกใช้เป็นรหัสตัวอักษรเพื่อเข้าถึงเพจที่ต้องการ

4. ฉันจะสร้างคีย์ SSH ได้อย่างไรหากฉันคุ้นเคยกับ Linux

ระบบย่อย Windows สำหรับ Linux หรือเรียกสั้น ๆ ว่า WSL เปิดใช้งานการสร้างคีย์ SSH ดั้งเดิม นอกจากนี้ Windows Terminal ซึ่งรองรับคำสั่ง WSL ยังสามารถใช้เพื่อสร้างคีย์สไตล์ Linux ได้อีกด้วย คุณอาจต้องวางแผนสำหรับขั้นตอนเพิ่มเติมเล็กน้อย แต่คุณจะได้รับประโยชน์เพิ่มเติมจากการควบคุมแบบละเอียดและความคุ้นเคยกับ Linux

5. ฉันจะถ่ายโอนคีย์ SSH ได้อย่างไรหากฉันกำลังอัพเกรดเป็นพีซีเครื่องใหม่

หากคุณกำลังอัพเกรดเป็นพีซีเครื่องใหม่และต้องการถ่ายโอนคีย์ SSH ของคุณ มีทางเดียวเท่านั้น: คุณต้องถ่ายโอนคีย์เหล่านั้นไปยังพีซีเครื่องใหม่ด้วยตนเอง หากคุณลืมทำเช่นนี้ คีย์ที่สร้างขึ้นจะถูกลบออกทั้งหมด หากคุณไม่มีไลบรารี่ที่กว้างขวางซึ่งมีคีย์ SSH จำนวนมาก คุณสามารถสร้างคีย์ใหม่บนพีซีเครื่องใหม่ของคุณได้ตลอดเวลา

6. คุณจะค้นหาคีย์ SSH ได้อย่างไรในภายหลัง?

ไม่ว่าจะเป็น Windows Terminal หรือ WSL คุณจะเห็นตำแหน่งที่แน่นอนของคีย์ SSH ที่คุณสร้างขึ้น หากคุณออกจากโปรแกรมโดยไม่ตรวจสอบ คุณจะต้องป้อนคำสั่งบางคำสั่งใน Windows Terminal ป้อน ~/.ssh/id_rsa และ ~/.ssh/id_rsa.pub เพื่อค้นหาคีย์ SSH ส่วนตัวและสาธารณะ หากมี