Technology

ทำให้ชีวิตง่ายขึ้นด้วย SSH Key

By Arnon Puitrakul - 14 ธันวาคม 2015

ทำให้ชีวิตง่ายขึ้นด้วย SSH Key

วันนี้ เราจะมาดูกันว่า เราสามารถติดตั้ง SSH Key ลงบน Server ของเราได้อย่างไร ในตัวอย่างนี้ ผมจะติดตั้งมันลงไปใน Server ของเว็บนี้กัน

SSH Key คืออะไร ?

ถ้าเราถามว่า ปกติเวลาเรา Login เข้าไปที่ Server เราก็ต้องผ่านตัว SSH หรือ Secure Shell โดยการใช้ Password แต่ปัญหาคือ **ความปลอดภัย **เพราะว่า Password ถ้าเราอยากจะรู้ก็ไม่ยากแค่ Brute Force ก็ออกมาอย่างง่ายดาย ดั่งสายลงวิ่งผ่าน แต่ถ้าเป็น SSH Key ที่กำลังจะได้ดูวิธีการใช้งานกันวันนี้จะเห็นได้ว่า แทบไม่มีทางที่จะใช้แค่ Brute Force แล้วออกเลย เพราะว่า ตัว Key จะถูกแบ่งออกเป็น 2 อันคือ Public Key และ Private Key โดยเราสามารถนำ Public Key ไปวางในที่ที่เราต้องการที่เราจะเข้าถึง และเมื่อเรา Login ระบบ มันจะเอา Private Key ที่อยู่ในเครื่องเรา มาทำการเทียบกับ Public Key ที่เราใส่ไว้ใน Server (โดยมี Algorithm เฉพาะนะ) และถ้าตรงมันก็จะปลดล๊อคให้เราเข้าไปได้นั่นเอง
ในขั้นตอนที่กำลังจะทำให้อ่าน ต่อไปนี้ผมทำโดยผ่าน Terminal ของ OSX หรือถ้าใครใช้พวก Linux ก็สามารถทำผ่าน Terminal บนเครื่องตัวเองได้เช่นกันส่วน Windows ก็ลาก่อยนะครับ

Step 1 สร้าง RSA Key บนเครื่อง

ให้เราเข้าไปใน Terminal บนเครื่องของเรา และพิมพ์คำสั่งตามด้านล่าง เพื่อทำการสร้างกุญแจให้กับเครื่องของเรา

ssh-keygen -t rsa

หลังจากที่เรารันคำสั่งด้านบน มันจะมีถามว่าจะใช้ Save ไฟล์ Key ไว้ที่ไหน ถ้าต้องการเติม Path ของ Key ก็ให้เติมลงไปได้เลย แต่ถ้าไม่ก็กด Enter ได้เลย

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

นอกจาก เราจะมี Key File เพื่อ Login แล้ว เราอาจจะเพิ่ม passphrase เข้าไปเพิ่มได้อีก

Enter passphrase (empty for no passphrase):

passphrase อารมณ์มันเหมือนเราไปเข้ารหัสตัว Key อีกครั้งด้วย passphrase มันเอาไว้ใช้ในสถานการณ์ประมาณว่า ถ้า Hacker ได้ Key File ของเราไป มันอาจจะช่วย เป็นการป้องกัน Hacker ใช้ Key File ของเราอีกชั้นหนึ่ง เพราะว่า ถ้าเราตั้ง passphrase เอาไว้ เวลาเราต้องการใช้ Key File มันจะถาม passphrase เสมอ ทำให้เรามั่นใจได้อีกขั้นนึงเลย
หลังจากที่เรา Config อะไรเรียบร้อยแล้ว มันก็จะแสดง Key ของเราขึ้นมา (อะไรประมาณนี้ แต่ล่ะเครื่องอาจจะแสดง Key ไม่เหมือนกัน ถ้าเหมือนกัน ก็บ้าแล้วล่ะ !!!!)

Your identification has been saved in /home/.ssh/id_rsa.
Your public key has been saved in /home/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]

Read Next...

ลองกันอีกสักตั้ง iPad Pro ใช้แทนคอมพิวเตอร์ได้มั้ย

ลองกันอีกสักตั้ง iPad Pro ใช้แทนคอมพิวเตอร์ได้มั้ย

เมื่อ 3 ปีก่อน เรามีความพยายามที่จะใช้ iPad Pro เครื่องเดิมแทนคอมพิวเตอร์ ไหน ๆ ตอนนี้เราเปลี่ยน iPad Pro ใหม่แล้ว เราจะมาลองกันอีกสักตั้งว่า เมื่อเวลาผ่านไป มันใช้งานจริงได้มากขึ้นหรือไม่...

ทำไม iPad ยังเป็น iPad ไม่เป็น Mac

ทำไม iPad ยังเป็น iPad ไม่เป็น Mac

ตั้งแต่ iPad Pro M4 และ iPad Air M2 เปิดตัวและเริ่มจำหน่ายออกไป Reviewer หลายคนเริ่มมองเห็นแล้วว่า ปัญหาจริง ๆ ของ iPad ในรอบหลายปีที่ผ่านมา ไม่ได้เกิดจาก iPad แต่เกิดจาก iPadOS บางเจ้าบอกว่า อยากให้เอา macOS มาใส่ด้วยซ้ำ มันยังไงกันนะ วันนี้เราจะมาเล่าประเด็นและความเห็นจากเราให้ให้อ่านกัน...

Microinverter ต่างจาก String Inverter อย่างไร เลือกแบบไหนดีกว่ากัน

Microinverter ต่างจาก String Inverter อย่างไร เลือกแบบไหนดีกว่ากัน

หลังจากเราเขียนเรื่อง Solar Cell ไปมีคนถามเข้ามาอยู่ว่า ถ้าจะเลือกติดตั้ง Solar ระหว่างการใช้ระบบ String Inverter กับ Microinverter เราจะเลือกตัวไหนดี วันนี้เราจะมาเล่าเปรียบเทียบให้อ่านกันว่าแบบไหน น่าจะเหมาะกับใคร...

ทำไมภาษา Programming สมัยใหม่ ถึงไม่มี Pointer Concept

ทำไมภาษา Programming สมัยใหม่ ถึงไม่มี Pointer Concept

ทำไมภาษาบางตัวอย่างภาษา C มี Pointer ในขณะที่ภาษาใหม่ ๆ หลายตัว ไม่มี ทำไมการ Implement Concept หรือเครื่องมือเหล่านี้ถึงไม่ได้รับความนิยม วันนี้เราจะมาเล่าข้อดีข้อเสียของ Feature นี้ในภาษา Programming กัน...