วิธีการแก้ไขข้อผิดพลาด SSH Permission Denied (publickey) Error

How Resolve Ssh Permission Denied Error



คีย์ SSH เป็นวิธีที่ยอดเยี่ยมในการตรวจสอบสิทธิ์เซสชัน SSH โดยไม่จำเป็นต้องใช้รหัสผ่านในการเข้าสู่ระบบแต่ละครั้ง อย่างไรก็ตาม เช่นเดียวกับเทคโนโลยีทั้งหมด คีย์ SSH นั้นไม่สมบูรณ์แบบ และคุณอาจพบข้อผิดพลาดเมื่อใช้งาน หนึ่งในข้อผิดพลาดที่พบบ่อยที่สุดเมื่อทำงานกับคีย์ SSH คือข้อผิดพลาดการปฏิเสธสิทธิ์ (publickey)

บทความนี้จะกล่าวถึงสาเหตุต่างๆ ของข้อผิดพลาดนี้ และแสดงขั้นตอนด่วนที่คุณสามารถทำได้เพื่อแก้ไขข้อผิดพลาด







ข้อผิดพลาด 1: คีย์ที่ได้รับอนุญาตและการอนุญาตไดเรกทอรี

หนึ่งในสาเหตุของข้อผิดพลาดนี้อาจเป็นสิทธิ์และความเป็นเจ้าของที่กำหนดค่าไว้สำหรับไดเร็กทอรี .ssh และไฟล์ authorized_keys



ในการแก้ไขปัญหานี้ ให้ตั้งค่าการอนุญาตไดเร็กทอรี .ssh เป็น 700 และสิทธิ์อนุญาตของ Author_keys เป็น 6oo



sudo chmod 700~/.sshsudo chmod 600ได้รับอนุญาต_keys

ข้อผิดพลาด 2: การกำหนดค่า SSH ไม่ถูกต้อง

สาเหตุทั่วไปอีกประการของข้อผิดพลาด publickey คือการกำหนดค่าที่ไม่ถูกต้องในไฟล์ sshd_config ในการแก้ไขปัญหานี้ ให้แก้ไขไฟล์ /etc/ssh/sshd_config และเปลี่ยนรายการต่อไปนี้

#PermitRootLogin ห้ามรหัสผ่าน
#การตรวจสอบรหัสผ่านใช่

รายการข้างต้นควรเป็นไปตามที่แสดงด้านล่าง:

PermitRootLoginใช่

การตรวจสอบรหัสผ่านใช่

บันทึกการกำหนดค่าและเริ่มบริการใหม่:

sudosystemctl รีสตาร์ท sshd.service

ข้อผิดพลาด 3: ไม่มีคีย์

อีกสาเหตุที่เป็นไปได้ของการปฏิเสธการอนุญาตคีย์สาธารณะ อาจเป็นเพราะคีย์ที่หายไปจากเครื่องในเครื่องของคุณ หากคุณเพิ่มคีย์ของคุณลงในไฟล์ authorized_keys ของเซิร์ฟเวอร์ แต่ไม่มีคีย์ส่วนตัวที่เกี่ยวข้อง การทำเช่นนี้อาจทำให้เกิดข้อผิดพลาด

ในการแก้ไขปัญหานี้ ให้แก้ไขไฟล์การกำหนดค่า ssh ปิดใช้งานการรับรองความถูกต้องของคีย์สาธารณะ และเปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่านดังนี้:

PubkeyAuthenticationใช่

#การตรวจสอบรหัสผ่านใช่

เปลี่ยนเป็นรายการต่อไปนี้:

#PubkeyAuthentication ใช่
การตรวจสอบรหัสผ่านใช่

เมื่อคุณแก้ไขการกำหนดค่า ให้บันทึกไฟล์ และเริ่มบริการ SSH ใหม่:

sudosystemctl รีสตาร์ท sshd.service

หากคุณแน่ใจว่าคีย์ของคุณถูกบุกรุก คุณสามารถลบออกจาก Author_keys หรือเพิ่มคีย์เฉพาะในรายการที่ถูกเพิกถอนใน SSH

บทสรุป

คู่มือฉบับย่อนี้แสดงวิธีแก้ไขปัญหาต่างๆ ที่อาจทำให้เกิดข้อผิดพลาดในการปฏิเสธสิทธิ์ (publickey) ใน SSH หากปัญหานี้ยังคงอยู่ ให้พิจารณาวิธีการแก้ไขปัญหาอื่นๆ