บทความนี้เราจะมาทำ OpenSSH Key Authentication ด้วย PuTTY โดยเชื่อมต่อไปยัง SSH บน CentOS 7 กันนะครับ แน่นอนว่า เราคงเลี่ยงไม่ได้ที่จะต้องเปิด SSH Services ไว้ตลอดเวลา เพื่อให้สะดวกในการเข้าไปใช้งานเครื่อง Server ของเรา การใช้ user และรหัสผ่านในการเข้าใช้งานนั้น มันอาจจะไม่ปลอดภัยนัก เพราะมีโอกาสที่จะโดน Brute-force Attack จนเจอแน่ๆ

แล้วไงล่ะ เราน่าจะมีวิธีการที่ดีกว่าการตั้ง user และรหัสผ่าน ในการเข้าใช้งาน SSH นะ ซึ่งสำหรับวันนี้เราจะใช้ Key ในการ Authentication ไปที่ SSH กันนะครับ

  หลักการง่ายๆ แบบย่อๆ คือ เราสร้าง Private key และ Public key ด้วย PuTTYgen จากนั้น นำ Public Key ไปใส่ไว้ที่ไฟล์ .ssh/authorized_keys ที่ Root Directory ของ Users นั้นๆ บน CentOS 7 และ SSH Configure เพื่อปิดการใช้ user และรหัส ให้ใช้ Key Authentication เท่านั้นครับ

มาเริ่มกันเลยครับ

1. เปิดโปรแกรม PuTTYgen  แล้วกดปุ่ม Generate เพื่อทำการสร้าง Private Key และ Public Key ครับ

2. จากนั้นก็เลื่อน Mouse ไปเรื่อยๆ จนกว่าจะเสร็จ

3. เมื่อเสร็จแล้วก็ทำการกดปุ่ม Save Private key เก็บไว้ครับ (ถ้าจะกำหนดรหัสในการเปิดไฟล์ Private key ก็กำหนดที่ช่อง Key passphrase ทั้งสองได้เลยครับ กรณีนี้ผมไม่ได้กำหนดนะครับ)

4. เสร็จแล้วทำการ Copy Public Key เพื่อไปวางไว้บน Server

5. ทำการเพิ่ม Public ที่สร้างใหม่เข้าไปในไฟล์ .ssh/authorized_keys ของ User ที่ต้องการ กรณีนี้ผมใส่ไว้ที่ root นะครับ

6. ทำการตั้งค่าไฟล์ /etc/ssh/sshd_config  เพื่อให้ใช้ Key Authentication เท่านั้น

7.  จากนั้นเปิดโปรแกรม PuTTY แล้วเข้าไปที่ Connection > SSH >  Auth ในส่วนของ Private key file for authentication ให้ Browse ไฟล์ Private key ที่เราได้ Save ไว้ก่อนหน้านี้ (ข้อ 3) ดังรูป

8. เสร็จแล้วก็ไปที่ Session ใส่ Host Name และ Port จากนั้นก็กดปุ่ม Open (เราสามารถ Save Sessions ไว้ได้โดยกำหนดชื่อที่ช่อง Saved Sessions แล้วก็กด Save ได้เลย)

เสร็จเรียบร้อย เราสามารถ Login โดยใช้ Key Authentication ได้สำเร็จแล้วครับ ถ้าไม่มี Private key ไฟล์ ก็ไม่สามารถ Login ได้

กรณีที่มีคนจะพยายาม Login ด้วย root เข้ามา Random Password จะมี Error Message แจ้งว่าไม่ Support การใช้รหัสผ่านในการเข้าถึง Server ครับ

 

เสร็จแล้วครับ ทำง่ายมากๆ เลย……

Facebook Comments

แขร์บทความ

How to Configure PuTTY Key Authentication Connect To OpenSSH on CentOS 7
Tagged on: