โดยปกติ การ 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
1. กด Generate เสร็จแล้วก็ ขยับเมาส์บนพื้นที่ว่างๆ จนกว่าจะ ทำงานเสร็จ
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
หัวข้อ SSH/Auth ให้เลือกไฟล์ private key ที่ได้ทำการ save ไว้
เท่านี้ก็จะสามารถ log in โดยที่ไม่ต้องใช้ password ได้เป็นที่เรียบร้อย