วิธีแก้ปัญหาหากทำ Key Pair หายหรือต้องการเปลี่ยน Key Pair ใน Amazon Lightsail

ถ้าทำ Key pair หายไปหรือต้องการเปลี่ยน Key pair ใหม่ใน Lightsail Instance เราสามารถแก้ไขปัญหานี้ได้โดยไม่กี่ขั้นตอนง่ายๆ เพียงแค่สร้าง Key pair ตัวใหม่ขึ้นมา และไปตั้งค่าใน Linux เพียงเท่านี้ก็จะสามารถใช้งาน Lightsail Instance ด้วย Key pair ที่เราต้องการได้ ในบทความนี้จะมาแนะนำวิธีการเปลี่ยน Key pair(Default) เป็น Key pair ตัวใหม่

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ

ครั้งนี้จะมาแนะนำวิธีแก้ปัญหาหากทำ Key Pair หายหรือต้องการเปลี่ยน Key Pair ใน Amazon Lightsail

สิ่งที่ต้องมี

※1. ติดตั้งโปรแกรม PuTTY แล้ว
สำหรับผู้ใช้งานที่ยังไม่ได้ติดตั้งโปรแกรม PuTTY สามารถดาวน์โหลดได้ที่ลิงก์: Download PuTTY

※2. เปิดใช้งาน WordPress ด้วย Amazon Lightsail แล้ว
ครั้งนี้เราจะดำเนินการโดยใช้สภาพแวดล้อม WordPress (สามารถใช้ในสภาพแวดล้อม Linux อื่นๆ ได้ด้วย)

ดูตัวอย่างการเปิดใช้งาน Application ได้ที่ลิงก์ด้านล่างนี้

ก่อนอื่นต้องเข้าใจก่อนว่าหลังจากสร้าง Lightsail Instance เสร็จแล้ว จะมี Key Pair ที่เป็นค่าเริ่มต้นถูกสร้างขึ้นมาพร้อมกับ Instance โดยอัตโนมัติ

สำหรับผู้ใช้งานที่ทำ Key Pair หายหรือต้องการเปลี่ยน Key Pair ให้ดูวิธีการในขั้นตอนถัดไป

การสร้าง Key Pair ใน Amazon Lightsail

เมื่อสร้าง Lightsail Instance เสร็จแล้ว เราจะสร้าง Key Pair เพื่อใช้ทำการเปลี่ยนจาก Key Pair(Default) เป็น Key Pair ตัวที่จะสร้างในขั้นตอนนี้

คลิก Account ⌵ ที่แท็บด้านบนขวา แล้วเลือก Account
จะเห็นว่ามีทั้ง Custom keys และ Default keys ซึ่งเราจะใช้แบบไหนก็ได้ แต่ครั้งนี้จะใช้ Custom keys โดยคลิกที่ + Create key pair

เลือก Select a region ให้ตรงกับที่สร้าง Instance ครั้งนี้คือ Singapore แล้วคลิก Create

แล้วป้อนชื่อใน Create a new SSH key pair ที่ต้องการ ครั้งนี้คือ tinnakorn-kp แล้วคลิก Generate key pair

เมื่อถึงหัวข้อ Key pair created! จะเห็นข้อความ "You can only download this private key once." คือเราสามารถดาวน์โหลด private key นี้ได้เพียงครั้งเดียวเท่านั้น ก็ให้คลิก Download private key แล้วไฟล์จะถูกดาวน์โหลดโดยอัตโนมัติ
เมื่อดาวน์โหลดแล้วให้คลิก Okey, got it!

เมื่อเสร็จแล้วจะแสดงหน้าจอแบบนี้

การเปลี่ยน Key Pair

กลับไปที่หน้าแรกของ Amazon Lightsail โดยคลิกแท็บ Home ด้านบนซ้าย แล้วเลือกแท็บ Instances แล้วคลิกเข้าไปที่ Instance ของเรา

แล้วดูที่แท็บ Connect ซึ่งใน Amazon Lightsail ไม่มีฟังก์ชันให้เปลี่ยน Key pair ดังนั้นเราต้องทำการเปลี่ยนใน Server Linux ของ Instance

ก่อนอื่นต้องเตรียม Public key ดังนี้
เปิดโปรแกรม PuTTYgen ขึ้นมาโดยกดปุ่ม Windows ที่แป้นพิมพ์ แล้วป้อนคำว่า PuTTYgen แล้วเลือก PuTTYgen

เมื่อเปิดโปรแกรมขึ้นมาแล้วจะแสดงหน้าจอแบบนี้ แล้วคลิก Load ที่ Load an existing private key file

ไปที่โฟลเดอร์เก็บไฟล์ Key pair ของเรา แล้วเปลี่ยนประเภท filename extension ด้านล่างขวาสุดจาก "PuTTY Private Key Files (*.ppk)" เป็น All Files (*.*) แล้วเลือกไฟล์ Key pair ของเรา แล้วคลิก Open |▼ (หรือดับเบิ้ลคลิกก็ได้)

แล้วจะมีหน้าจอ PuTTYgen Notice แสดงขึ้นมา ให้คลิก OK เพื่อบันทึกในรูปแบบของ PuTTY

Public key นี้ ซึ่งในตอนแรกมันเป็น Private key ของ Key pair(Default) แต่ตอนนี้เราเปลี่ยนมันเป็น Public key ของ Key pair ตัวใหม่เรียบร้อยแล้ว และเราจะใช้ Public key นี้ในภายหลัง ดังนั้นให้คัดลอกในช่องสีแดงเตรียมไว้

กลับมาที่หน้าจอ Instance ของเรา แล้วเปิดหน้าจอ Terminal โดยคลิก Connect using SSH ในหัวข้อ Connect to your instance ในแท็บ Connect (หากเชื่อมต่อกับ Instance อยู่แล้ว ให้ข้ามขั้นตอนนี้ไปได้เลย)

แล้วแก้ไขไฟล์ authorized_keys โดยรันคำสั่งตามนี้

nano ~/.ssh/authorized_keys

เมื่อเข้ามาที่ไฟล์ authorized_keys ให้ลบเนื้อหาของ Private key(Default) ออกให้หมดโดยกดปุ่ม Delete ค้างไว้
แล้ววาง Public key ที่คัดลอกมาโดยคลิกขวาที่หน้าจอ Terminal แล้วเลือก วาง/Paste ก็จะแสดงผลลัพธ์ตามด้านล่างนี้
[ผลลัพธ์] แล้วให้ Save โดยกดปุ่ม Ctrl+X ตามด้วยกดปุ่ม Y เพื่อ Save แล้วกดปุ่ม Enter

tinnakorn-wordpress - Terminal | Lightsail - Google Chrome

<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ imported-openssh-key

เพียงเท่านี้ขั้นตอนการเปลี่ยน Key Pair ก็เสร็จเรียบร้อยแล้ว ต่อไปเราจะมาทดสอบการเชื่อมต่อจาก WinSCP ไปยัง Lightsail Instance กัน

การเชื่อมต่อจาก WinSCP ไปยัง Lightsail Instance

เนื่องจากผมได้เขียนบทความการเชื่อมต่อจาก WinSCP ไปยัง Lightsail ไว้แล้ว ให้ดูวิธีการที่ลิงก์บทความด้านล่างนี้ โดยใช้ Key pair ตัวที่สร้างใหม่ ทำการเชื่อมต่อ ! ถ้าเราสามารถเชื่อมต่อจาก WinSCP ไปยัง Lightsail Instance ได้ก็ถือว่าการตั้งค่าทั้งหมดถูกต้อง

สรุป

หากเราเผลอไปลบหรือทำ Key pair หายไปด้วยสาเหตุอื่นๆ เราสามารถแก้ไขได้ง่ายๆ โดยสร้าง Key pair ตัวใหม่ขึ้นมาแล้วเชื่อมต่อเข้าไปที่ Linux แล้วทำการตั้งค่าโดยลบ Private key ของ Key pair(Default) ออก แล้วเพิ่ม Public key ของ Key pair ตัวใหม่เข้าไป แล้วทดสอบการเชื่อมต่อจาก WinSCP ไปยัง Lightsail Instance ถ้าเชื่อมต่อได้ก็ถือว่าการตั้งค่าทั้งหมดถูกต้อง

ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ

POP จากบริษัท Classmethod (Thailand) ครับ !

Link อ้างอิง