วิธีสร้าง SSH Key สำหรับระบบปฏิบัติการ Linux
SSH Key
สวัสดีครับ บทความในตอนนี้ผมจะมาแนะนำวิธีการสร้าง SSH Key และวิธีการนำไปติดตั้งไว้ในเครื่องเซิร์ฟเวอร์ที่เราใช้งานมาเริ่มกันเลยครับ
1. สร้าง key pair บนเครื่องไคลเอนท์ที่เราใช้งานเพื่อล็อกอินเข้าสู่เครื่องเซิร์ฟเวอร์ด้วยคำสั่ง ssh-keygen โดยค่าเริ่มต้น ssh-keygen จะสร้าง key pair ด้วยการเข้ารหัสแบบ RSA ขนาด 2048 บิต
2. หลังจากใช้คำสั่ง ssh-keygen จะได้ผลลัพธ์ดังรูป
3. กดปุ่ม Enter เพื่อเซฟ key pair ลงในไดเรคทอรี่ย่อย .ssh/ ของไดเรกทอรี่ home ที่ใช้งานอยู่หรือจะเปลี่ยนไปเซฟเก็บไว้ที่อื่นก็แล้วแต่สะดวกครับ
ถ้ามีการสร้าง ssh key pair ไว้ก่อนหน้าแล้ว ระบบจะแจ้งเตือนว่ามีไฟล์ key pair อยู่แล้วจะเขียนไฟล์ทับของเดิมหรือไม่ ถ้าเลือกที่จะเขียนทับเราจะไม่สามารถใช้งาน key pair เดิมได้และจะไม่สามารถกู้คืนได้อีกด้วย ดังนั้นต้องกระทำด้วยความระมัดระวัง
4. ระบบจะถามให้ระบุ passphrase หรือจะเลือกไม่ระบุก็ได้ แต่ถ้าหากระบุจะเป็นการเพิ่มระดับความปลอดภัยขึ้นไปอีกหนึ่งสเต็ปเพื่อป้องกันคนอื่นใช้เครื่องเราในการล็อกอินเข้าสู่เครื่องเซิร์ฟเวอร์นั่นเอง จะได้ผลลัพธ์ดังรูป
5. ขั้นตอนถัดไปจะเป็นการคัดลอก key pair ไปติดตั้งไว้ในเครื่องเซิร์ฟเวอร์ ซึ่ง key ที่ว่านี้จะเป็น public key ของเครื่องไคลเอนท์เรานั่นเอง ด้วยการใช้คำสั่ง ssh-copy-id username@remote_host ที่เครื่องไคลเอนท์ จะได้ผลลัพธ์ดังรูป
6. พิมพ์ yes แล้วกดปุ่ม Enter หลังจากนั้นระบบจะทำการสแกนหาไฟล์ public key ภายในไดเรคทอรี่ของแอคเคาท์เครื่องไคลเอนท์ที่ใช้งานอยู่ เมื่อระบบหา key เจอแล้วจะถามรหัสของเครื่องเซิร์ฟเวอร์ดังรูป
7. ใส่รหัสผ่านของเครื่องเซิร์ฟเวอร์แล้วกดปุ่ม Enter จากนั้นระบบจะทำการคัดลอกไฟล์ id_rsa.pub ไปยังไดเรคทอรี่ .ssh/authorized_keys จะได้ผลลัพธ์ดังรูป
8. ที่เครื่องไคลเอนท์ทดสอบล็อกอินเข้าเครื่องเซิร์ฟเวอร์ด้วยคำสั่ง ssh username@remote_host จะได้ผลลัพธ์ดังรูป
9. ระบบจะถาม passphrase ที่ได้ระบุไว้ก่อนหน้า ก็จะสามารถเข้าใช้งานเครื่องเซิร์ฟเวอร์ได้ดังรูป
10. ขั้นตอนเพิ่มเติมคือการยกเลิกการล็อกอินเข้าเครื่องเซิร์ฟเวอร์ด้วยรหัสผ่านอย่างเดียวเพื่อเพิ่มความปลอดภัย ด้วยคำสั่ง sudo vi /etc/ssh/sshd_config เมื่อไฟล์ถูกเปิดขึ้นมาแล้ว ให้แก้ไขการตั้งค่า PasswordAuthentication no แล้วเซฟไฟล์
11. ให้ทำการรีสตาร์ทเซอร์วิส sshd ด้วยคำสั่ง sudo systemctl restart sshd เพื่อให้ระบบนำไฟล์คอนฟิกที่แก้ไขไปปรับใช้ หลังจากนี้เซิร์ฟเวอร์ก็จะอนุญาตให้ผู้ใช้งานที่มี ssh key เท่านั้นที่จะสามารถล็อกอินเข้ามาใช้งานได้
สำหรับบทความในตอนนี้ขอจบไว้เพียงเท่านี้ สวัสดีครับ