การปกป้องการเชื่อมต่อและความสมบูรณ์ของข้อมูลคือจุดที่คีย์Secure Shell (SSH) เหนือกว่า โดยทั่วไปจะใช้ SSH keygen เพื่อเข้าถึงเซิร์ฟเวอร์ระยะไกลและบริการคลาวด์อย่างปลอดภัย คุณควรมีคีย์ SSH หากคุณเข้าถึงเซิร์ฟเวอร์ระยะไกลเป็นประจำโดยใช้อุปกรณ์ Windows ของคุณ
นอกจากเซิร์ฟเวอร์ระยะไกลแล้ว คุณยังสามารถใช้คีย์ความปลอดภัยเหล่านี้เพื่อให้สิทธิ์การเข้าถึงแก่พนักงานของคุณในที่ทำงานซึ่งคุณมีแนวโน้มที่จะเสี่ยงต่อการละเมิดข้อมูล เช่น ศูนย์ข้อมูล ฯลฯ บทความนี้จะแนะนำคุณตลอดขั้นตอนง่ายๆ ในการสร้างคีย์ SSH บน Windows
Secure Shell Protocol (SSH) เป็นวิธีที่ดีที่สุดในการบล็อกการเชื่อมต่อที่ไม่ปลอดภัยระหว่างคอมพิวเตอร์ผ่านทางเว็บ คุณควรหลีกเลี่ยงการใช้โปรโตคอลที่มีชื่อผู้ใช้และรหัสผ่าน และเลือกคีย์ SSH ที่สร้างแบบเข้ารหัสแทน
Windows 11 มาพร้อมกับไคลเอ็นต์ OpenSSH ในตัว ทำให้ง่ายต่อการสร้างคีย์ SSH โดยไม่ต้องใช้โปรแกรมบุคคลที่สาม มันจะทำงานในลักษณะเดียวกันบน Windows 10; หากคุณประสบปัญหา ให้เปิดแผงตัวเลือก Windows และเปิดใช้งานตัว เลือก OpenSSH Client
หมายเหตุ : คุณอาจต้องการ Windows Terminal เนื่องจากมีสภาพแวดล้อมที่เป็นหนึ่งเดียวสำหรับอินเทอร์เฟซบรรทัดคำสั่ง มันรัน Command Prompt, PowerShell และ Windows Subsystem สำหรับ Linux ในหน้าต่างเดียว เครื่องมือนี้เพิ่มความยืดหยุ่นและลดความซับซ้อนของงานต่างๆ เช่น การสร้างคีย์ SSH
การสร้างคีย์ SSH บน Windows นั้นง่ายมาก คุณสามารถใช้ 1 ใน 3 วิธีที่แสดงด้านล่าง
วิธีสร้างคีย์ SSH บน Windows
1. ใช้พรอมต์คำสั่ง
การสร้างคีย์ SSH ด้วยความช่วยเหลือของบรรทัดคำสั่งนั้นรวดเร็วและง่ายดาย ทำตามขั้นตอนที่อธิบายไว้ด้านล่าง
ขั้นตอนที่ 1: คลิกปุ่มเริ่ม ค้นหาCommand PromptและเลือกRun as administrator คลิกใช่เมื่อได้รับแจ้งให้ให้ CMD ทำการเปลี่ยนแปลงกับคอมพิวเตอร์ของคุณ
เปิด CMD ด้วยสิทธิ์ผู้ดูแลระบบ
ขั้นตอนที่ 2: พิมพ์คำสั่งต่อไปนี้แล้วกดEnterบนแป้นพิมพ์:
ssh-keygen
ป้อนคำสั่งแล้วกด Enter
ขั้นตอนที่ 3: ป้อนชื่อไฟล์ที่เก็บคีย์แล้วกดEnter :
file_name
เคล็ดลับ : คุณยังสามารถตั้งค่าเส้นทางที่กำหนดเองได้ที่นี่เพื่อจัดเก็บคีย์ในตำแหน่งเริ่มต้น (C:\Users\[ชื่อผู้ใช้] \ )
ป้อนชื่อไฟล์แล้วกดปุ่ม Enter
ขั้นตอนที่ 4: ป้อนข้อความรหัสผ่านเพื่อรักษาความปลอดภัยคีย์ของคุณ และกดEnterเพื่อบันทึกการเปลี่ยนแปลง
หมายเหตุ : คุณสามารถกดEnterสองครั้งเพื่อข้ามขั้นตอนนี้และบันทึกคีย์โดยตรงโดยไม่ต้องใช้รหัสผ่าน
รหัสส่วนตัวและรหัสสาธารณะของคุณจะถูกเก็บไว้อย่างปลอดภัย ข้อความยืนยันพร้อมข้อมูลสำคัญเพิ่มเติมจะแสดงบนหน้าจอ คุณสามารถดำเนินการปิดหน้าต่างนี้ได้
คุณสามารถใช้สิ่งนี้เพื่อสร้างคีย์ SSH หลายรายการด้วยชื่อไฟล์ที่แตกต่างกัน
ป้อนข้อความรหัสผ่านแล้วกด Enter
ขั้นตอนที่ 5: พิมพ์exitแล้วกดEnterบนแป้นพิมพ์เพื่อปิดหน้าต่าง CMD
พิมพ์ exit แล้วกด Enter
2. ใช้ WSL
การสร้างคีย์ SSH โดยใช้ Windows Subsystem for Linux (WSL) ให้ข้อดีหลายประการ คุณจะได้รับประโยชน์จากเครื่องมือ Linux และความง่ายในการทำงานบนคอมพิวเตอร์ Windows นอกจากนี้ยังมอบวิธีที่ราบรื่นและปลอดภัยในการจัดการการรับรองความถูกต้อง SSH
ติดตั้งการกระจาย WSL และ Linux
ทำตามขั้นตอนด้านล่างเพื่อติดตั้งและตั้งค่าการกระจาย WSL และ Linux บนอุปกรณ์ Windows ของคุณ
ขั้นตอนที่ 1: คลิกที่ไอคอน Windows และค้นหาCommand Promptคลิกเรียกใช้ในฐานะผู้ดูแลระบบและเลือกใช่เมื่อได้รับแจ้ง
เปิด CMD ด้วยสิทธิ์ผู้ดูแลระบบ
ขั้นตอนที่ 2: Windows 11 ติดตั้งมาพร้อมกับ WSL ล่วงหน้า คุณสามารถตรวจสอบได้ โดยพิมพ์คำสั่งด้านล่างแล้วกดEnter
wsl --status
ตรวจสอบสถานะ WSL ใน Windows 11
หากคุณใช้ Windows 10 ให้ติดตั้ง WSL โดยใช้วิธีใดวิธีหนึ่งด้านล่าง:
ดาวน์โหลดระบบย่อย Windows สำหรับLinux (WSL) จาก Microsoft Store
ป้อนคำสั่งที่ระบุด้านล่างแล้วกดEnterบนแป้นพิมพ์ของคุณ
wsl --install
ขั้นตอนที่ 3: หลังจากติดตั้ง WSL บนคอมพิวเตอร์ของคุณ คุณสามารถดาวน์โหลดระบบปฏิบัติการ Linux ใดก็ได้โดยใช้ Microsoft Store หรืออินเทอร์เฟซบรรทัดคำสั่ง
บทความนี้ใช้ Command Prompt เพื่อดาวน์โหลด Ubuntu สำหรับบทช่วยสอนนี้ ป้อนคำสั่งด้านล่างแล้วกดEnterบนแป้นพิมพ์เพื่อดำเนินการดังกล่าว
wsl --install -d Ubuntu
หมายเหตุ : หากคุณต้องการติดตั้ง Kali Linux ให้เขียนkali-linuxในคำสั่งด้านบน
ดาวน์โหลดอูบุนตู
ขั้นตอนที่ 4: ป้อนชื่อผู้ใช้และรหัสผ่าน UNIX
ป้อนชื่อผู้ใช้และรหัสผ่าน UNIX
ขั้นตอนที่ 5: ปิดหน้าต่าง UNIX โดยพิมพ์exitแล้วกดEnterทำซ้ำขั้นตอนนี้เพื่อปิดหน้าต่าง CMD
ปิดหน้าต่าง UNIX และ CMD โดยพิมพ์ exit แล้วกด Enter
คุณติดตั้ง WSL และระบบปฏิบัติการ Linux สำเร็จแล้ว หากต้องการสร้างคีย์ SSH โดยใช้ WSL ให้ทำตามขั้นตอนด้านล่าง
สร้างคีย์ SSH โดยใช้ WSL
ขั้นตอนที่ 1: คลิกที่ไอคอนWindowsค้นหาUbuntuและเลือกRun as administrator เมื่อได้รับแจ้ง คลิกใช่
คลิกที่ไอคอน Windows และเปิด Ubuntu
ขั้น ตอนที่ 2: ป้อนคำสั่งด้านล่างเพื่อสร้างคีย์ SSH แล้วกดEnter
ssh-keygen -t rsa -b "4096"
ป้อนคำสั่งเพื่อสร้างคีย์ SSH แล้วกด Enter
ขั้นตอนที่ 3: ระบุเส้นทางที่ต้องการแล้วกดปุ่มEnterถ้าไม่เช่นนั้น ให้กด ปุ่ม Enterเพื่อบันทึกไฟล์ในตำแหน่งเริ่มต้น
ขั้นตอนที่ 4: ป้อนข้อความรหัส ผ่านที่คุณต้องการใช้แล้วกดEnterคุณต้องทำสิ่งนี้สองครั้งเพื่อยืนยัน
หมายเหตุ : คุณจะไม่เห็นสิ่งที่คุณพิมพ์เมื่อคุณป้อนรหัสผ่าน แต่เครื่องมือจะบันทึกในขณะที่คุณพิมพ์ ดังนั้นโปรดตรวจสอบให้แน่ใจว่าไม่มีการพิมพ์ผิด
หรือหากคุณไม่ต้องการใช้ข้อความรหัสผ่านใดๆ คุณสามารถกดEnterสองครั้ง
คำเตือน : คุณไม่ควรใช้ข้อความรหัสผ่านที่ว่างเปล่าเพื่อความปลอดภัย
ระบุเส้นทางที่ต้องการ กด Enter ป้อนข้อความรหัสผ่านและยืนยันโดยกด Enter
ขั้นตอนที่ 5: สุดท้ายพิมพ์exitแล้วกดEnterเพื่อปิดหน้าต่าง
พิมพ์ exit แล้วกด Enter
คุณสร้างคีย์ SSH สำเร็จแล้ว เยี่ยมชมเว็บไซต์ที่คุณโฮสต์เพื่อตรวจสอบ คุณจะพบกุญแจสองดอก คุณสามารถแยกแยะความแตกต่างได้ด้วยส่วนขยาย:
- กุญแจสาธารณะมีนามสกุล .pub
- คีย์ส่วนตัวไม่มีส่วนขยาย
คำอธิบายรหัส
คำสั่ง SSH ทั่วไปที่สามารถช่วยคุณสร้างคีย์ SSH มีดังนี้:
ssh-keygen -t rsa -N "" -b "2048" -C "key comment" -f path/root_name
ด้านล่างนี้คือความหมายของแต่ละสัญลักษณ์หรืออักขระในคำสั่ง
- -t rsa : ระบุประเภทของคีย์ที่จะสร้าง ในกรณีนี้คือ rsa RSA (Rivest–Shamir–Adleman) เป็นอัลกอริธึมที่ปลอดภัยและใช้กันอย่างแพร่หลายสำหรับการเข้ารหัสคีย์สาธารณะ
- -N “” : ตั้งค่าข้อความรหัสผ่านเป็นสตริงว่าง หมายความว่าคีย์จะไม่ได้รับการปกป้อง ดังนั้นใครก็ตามที่มีสิทธิ์เข้าถึงไฟล์คีย์ส่วนตัวจะสามารถใช้งานได้โดยไม่ต้องใช้รหัสผ่าน
- -b “2048” : กำหนดขนาดคีย์ ตั้งค่าเป็น 2048 บิต คุณควรใช้ขนาดคีย์ที่ใหญ่กว่าเนื่องจากมีการรักษาความปลอดภัยที่ดีกว่า
หมายเหตุ : ขนาดคีย์ที่ใหญ่ขึ้นจะใช้เวลาในการสร้างและใช้งานนานขึ้น
- -C “ความคิดเห็นที่สำคัญ” : อนุญาตให้คุณเพิ่มความคิดเห็นลงในไฟล์คีย์ที่สร้างขึ้น สิ่งนี้มีประโยชน์ในสถานการณ์จริงเนื่องจากคุณจะต้องทำงานกับคีย์ SSH หลายคีย์เพื่อเข้าถึงอุปกรณ์ระยะไกลต่างๆ
- -f path/root_name : ระบุพาธและชื่อไฟล์สำหรับคู่คีย์ที่สร้างขึ้น ชื่อไฟล์จะมีroot_nameมาพร้อมกับนามสกุล .pub สำหรับพับลิกคีย์ และ .pem สำหรับคีย์ส่วนตัว (เช่น: root_name.pub และ root_name.pem)
3. ใช้ PuTTY
PuTTY เป็นหนึ่งในโปรแกรมจำลองเทอร์มินัลโอเพ่นซอร์สที่ฟรีและล้าสมัย คอนโซลซีเรียล และแอปพลิเคชันถ่ายโอนไฟล์ผ่านเครือข่าย รองรับโปรโตคอลเครือข่ายหลายโปรโตคอล รวมถึง SSH, Telnet, rlogin และการเชื่อมต่อซ็อกเก็ตดิบ ทำตามขั้นตอนที่อธิบายไว้ด้านล่างเพื่อสร้างคีย์ SSH บน Windows โดยใช้ PuTTY
ขั้นตอนที่ 1: เปิดเว็บเบราว์เซอร์และเยี่ยมชม เว็บไซต์ PuTTY อย่างเป็น ทางการ ดาวน์โหลดและติดตั้ง PuTTY
ขั้นตอนที่ 2: กดแป้นพิมพ์ลัดWindows + Sเพื่อเปิด Windows Search พิมพ์PuTTYgenแล้วคลิกOpen
เปิดตัว PuTTYgen
ขั้นตอนที่ 3: ในส่วนประเภทของคีย์ที่จะสร้างให้เลือกประเภท (เช่น RSA) ป้อนจำนวนบิตที่ต้องการลงในคีย์ที่สร้างขึ้น คลิกปุ่มสร้าง
เลือกประเภทของคีย์ที่จะสร้าง ป้อนจำนวนบิตที่ต้องการ
ขั้นตอนที่ 4: คลิกบันทึกรหัสสาธารณะและเลือกตำแหน่งที่จะบันทึกไฟล์ เปลี่ยนชื่อไฟล์โดยใช้ประเภทคีย์และเพิ่มนามสกุล “.pub” (เช่น id_rsa.pub สำหรับ RSA)
คลิกบันทึกรหัสสาธารณะ
ขั้นตอนที่ 5: สุดท้าย ป้อนข้อความรหัสผ่านและยืนยัน ไปที่ แท็บ Conversionที่ด้านบนแล้วคลิกส่งออกคีย์ OpenSSHสำหรับคีย์ส่วนตัว
ขั้นตอนที่ 6: เลือกตำแหน่งที่จะบันทึกคีย์ส่วนตัว และจำไว้ว่าไม่มีการใช้นามสกุลหลังชื่อไฟล์ นอกจากนี้ คุณควรใช้ชื่อที่คล้ายกับกุญแจสาธารณะ (เช่น id_rsa)
พิมพ์ข้อความรหัสผ่าน ยืนยัน และบันทึกคีย์ส่วนตัว
อะไรคือความแตกต่างระหว่างคีย์ RSA และ Ed25519?
ในขั้นตอนข้างต้น บทความได้กล่าวถึงคีย์ SSH สองประเภท: RSA และ Ed25519 แต่มันแตกต่างกันอย่างไร?
- อัลกอริทึม : RSA (Rivest-Shamir-Adleman) ใช้การเข้ารหัสแบบอสมมาตร ในขณะที่ Ed25519 ใช้ทั้งการเข้ารหัสแบบวงรีและแบบอสมมาตร
- ขนาดคีย์ : คีย์ RSA มีขนาดคีย์ตัวแปรตั้งแต่ 1024 ถึง 4096 บิต Ed25519 มีขนาดคีย์คงที่ 256 บิต ทำให้เร็วกว่า RSA
- ความปลอดภัย : โดยทั่วไปแล้ว Ed25519 ถือว่าปลอดภัยและทนทานต่อการโจมตีมากกว่า
- ประสิทธิภาพ : Ed25519 เร็วกว่าและมีประสิทธิภาพมากกว่า RSA
- ความเข้ากันได้ : RSA ได้รับการรองรับอย่างกว้างขวางมากขึ้น แต่การนำ Ed25519 มาใช้ก็เพิ่มขึ้น
สุดท้ายนี้ คุณสามารถใช้อัลกอริธึมการเข้ารหัสขึ้นอยู่กับระบบของคุณ การสร้างคีย์ SSH นั้นง่ายดายด้วยวิธีการที่มีอยู่ใน Windows และควรพิจารณาเนื่องจากความเสี่ยงออนไลน์ที่ร้ายแรงในการเข้าถึงระบบจากระยะไกล