ssh Key-Pair Authentication

โดยปกติ การ login เข้าสู่ server linux เราจะใช้ username และ password คราวนี้เราจะมาใช้อีกวิธี ที่ช่วยเรื่องความปลอดภัยขึ้นอีกนิด นั่นคือเราจะทำการทำให้ ssh server ของเรา รองรับการใช้ Key-Pair แทน username และ password โดยหลักการคือเราต้องสร้าง private key ให้ client และ public key ให้ server

สำหรับ windows Client
เราจะใช้ โปรแกรม Putty key Generator สำหรับการสร้างคีย์ โดยปกติโปรแกรมนี้จะถูกติดตั้งไปพร้อมกับ โปรแกรม Putty ก็จะอยู่ใน Folder เดียวกัน C:\Program Files\PuTTY

putty key gen
1. กด Generate เสร็จแล้วก็ ขยับเมาส์บนพื้นที่ว่างๆ จนกว่าจะ ทำงานเสร็จ
keygen
2. กด save public key และ save private key
3. log in เข้า server และสร้าง ไดเร็กทอรี่ .ssh

mkdir -p ~/.ssh
เช็คไดเร็คทอรี่ว่ามีหรือไม่
ls -a หรือ ls -al

4. จากนั้น ทำการสร้างไฟล์ authorizes_keyใน folder .ssh

#chmod 700 .ssh
#vi .ssh/authorized_keys 
เสร็จแล้วให้ copy public key ที่ได้ putty key generator แล้ว save
#chmod 600 .ssh/authorized_keys

5. แก้ไขไฟล์ vi /etc/ssh/sshd_config ให้แก้ตามหัวข้อต่อไปนี้
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
เช็คดูด้วยว่า มีบรรทัดมีไฟล์ชื่อ”authorized_keys” ในบรรทัดของ
AuthorizedKeyFile .ssh/authorized_keys ด้วยหรือไม่
สั่ง save แล้วสั่ง restart service

#sudo systemctl restart sshd.service

6. เปิดโปรแกรม putty แล้วแก้ไขข้อมูลให้ใช้การ log in ผ่าน Key
หัวข้อ data ให้ใส่ username ในที่นี้คือ root
putty input key
หัวข้อ SSH/Auth ให้เลือกไฟล์ private key ที่ได้ทำการ save ไว้
putty insert key

เท่านี้ก็จะสามารถ log in โดยที่ไม่ต้องใช้ password ได้เป็นที่เรียบร้อย

ssh Key-Pair Authentication
JIT Innotech