Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

วิธีแก้ไขข้อผิดพลาดโปรโตคอลการอนุญาตที่ไม่รองรับ PuTTY X11 Proxy

PuTTY X11 เป็นกลไกในการเข้าถึงแอปพลิเคชันและเซิร์ฟเวอร์จากระยะไกลโดยการส่งต่อการแสดงผลและการควบคุมแอปพลิเคชันเหล่านี้ไปยังเครื่องโฮสต์ภายในเครื่อง ช่วยให้เครื่องภายในของผู้ใช้โต้ตอบกับ GUI/SSH ของเครื่องระยะไกลซึ่งช่วยให้เข้าถึงได้ง่าย

แก้ไขโปรโตคอลการอนุญาต PuTTY X11 พรอกซีที่ไม่รองรับ

อย่างไรก็ตาม บางครั้งพยายามเข้าถึงเซิร์ฟเวอร์หรือแอปพลิเคชัน ผู้ใช้สามารถเรียกใช้ พร็อกซี PuTTY X11:โปรโตคอลการอนุญาตที่ไม่รองรับ ข้อผิดพลาด ข้อผิดพลาดนี้อาจเกิดจากสาเหตุหลายประการ ซึ่งรวมถึง:

  • การเป็นเจ้าของไฟล์ Xauthority ไม่ถูกต้อง (และไฟล์ที่ถูกล็อค)
  • ไฟล์ Xauthority เสียหาย
  • การกำหนดค่า PuTTY ไม่ถูกต้อง
  • ไฟร์วอลล์การตั้งค่าการอนุญาตไม่ถูกต้อง
  • การส่งต่อ X11 ไม่ได้กำหนดค่าในการกำหนดค่า SSH

บทความนี้สาธิตวิธีการแก้ไขข้อผิดพลาดในการอนุญาตที่ไม่รองรับสำหรับ PuTTY

โซลูชันที่ 1:เปลี่ยนความเป็นเจ้าของไฟล์ Xauthority

อำนาจ X ไฟล์เป็นองค์ประกอบหลักในการใช้ PuTTY เนื่องจากไฟล์นี้จัดเก็บคุกกี้และข้อมูลรับรองสำหรับ Xserver เพื่อวัตถุประสงค์ในการตรวจสอบการเชื่อมต่อ ข้อผิดพลาดโปรโตคอลการอนุญาตที่ไม่รองรับเกิดขึ้นเมื่อไฟล์ Xauthority หายไปหรือผู้ใช้ไม่ใช่เจ้าของไฟล์ ให้เราทำตามขั้นตอนและแก้ไขข้อผิดพลาดนี้

  1. ใช้คำสั่ง list ที่กำหนดเพื่อค้นหาไฟล์ Xauthority และยืนยันความเป็นเจ้าของ:
    ls -al .Xauthority
    ค้นหาไฟล์ Xauthority

    อำนาจ X ขณะนี้ไฟล์เป็นของผู้ใช้รูท เรามาเข้าถึงเซิร์ฟเวอร์โดยใช้ PuTTY กันดีกว่า เพื่อดูว่าจะตอบสนองต่อปัญหาการเป็นเจ้าของนี้อย่างไร:

    โปรโตคอลการอนุญาตที่ไม่รองรับ

    ผลลัพธ์ข้างต้นแสดงให้เห็นว่าผู้ใช้จำเป็นต้องควบคุม Xauthority .

  2. เปลี่ยนความเป็นเจ้าของไฟล์ Xauthority ไปยังผู้ใช้ที่เข้าสู่ระบบ และดำเนินการตามคำสั่งต่อไปนี้:
    หมายเหตุ :เขียนชื่อผู้ใช้ที่คุณต้องการใช้แทน “linux-user” ที่กำหนดในคำสั่ง:
    sudo chown linux-user .Xauthority
    เปลี่ยนความเป็นเจ้าของ Xauthority
  3. เมื่อ โปรโตคอลการอนุญาตที่ไม่รองรับ เกิดข้อผิดพลาด ไฟล์ Xauthority มักจะถูกล็อค เมื่อไฟล์นี้ถูกล็อค การเป็นเจ้าของที่ถูกต้องจะไม่สามารถแก้ไขปัญหาได้เช่นกัน ดังนั้นผู้ใช้จำเป็นต้องตรวจสอบไฟล์ที่ถูกล็อคและลบออก เรียกใช้ ls -al คำสั่งเพื่อตรวจสอบว่า Xauthority-c และ Xauthority-l มีไฟล์อยู่:
    ls -al
    แสดงรายการเพื่อค้นหาไฟล์ Xauthority

    หากมีไฟล์เหล่านี้อยู่ ให้ลบ Xauthority-c และ Xauthority-l ไฟล์โดยใช้คำสั่งต่อไปนี้:

    rm .Xauthority-c .Xauthority-l

    <แข็งแกร่ง>
    หมายเหตุ :รีสตาร์ทเครื่องและการเชื่อมต่อ PuTTY เพื่อให้การเปลี่ยนแปลงมีผล

  4. เชื่อมต่อกับเซิร์ฟเวอร์ PuTTY อีกครั้งแล้วเรียก “xclock ” เพื่อทดสอบเซิร์ฟเวอร์:เชื่อมต่อกับ PuTTY

    ข้อผิดพลาดในการอนุญาตได้รับการแก้ไขเรียบร้อยแล้ว

วิธีแก้ปัญหา 2:แทนที่ไฟล์ Xauthority ที่เสียหาย

ในบางกรณี ไฟล์ Xauthority อาจเสียหายได้ และด้วยเหตุนี้ การเข้าถึงเซิร์ฟเวอร์จึงไม่ได้รับอนุญาต เพื่อแก้ไขปัญหานี้ คุณจะต้องทำตามขั้นตอนต่อไปนี้

  1. เรียกใช้คำสั่ง “ls – al ” คำสั่งเพื่อตรวจสอบว่ามีไฟล์ Xauthority ของเราอยู่หรือไม่:
  2. หากต้องการลบ Xauthority ไฟล์ ให้ใช้คำสั่งต่อไปนี้:
    rm .Xauthority
    ลบไฟล์ Xauthority
  3. เมื่อคุณลบไฟล์ Xauthority แล้ว ให้เชื่อมต่อเซิร์ฟเวอร์อีกครั้งโดยใช้ PuTTy สิ่งนี้จะสร้างไฟล์ Xauthority ใหม่ในไดเร็กทอรี และเรียกใช้คำสั่ง “xclock ” คำสั่ง:สร้างการเชื่อมต่อสำเร็จแล้ว

    คุณเข้าสู่ระบบ PuTTY และเข้าถึง Xclock สำเร็จแล้ว

โซลูชันที่ 3:กำหนดค่าการกำหนดค่า PuTTY ที่ไม่ถูกต้องอีกครั้ง

การตั้งค่า PuTTY ของคุณก็เป็นสิ่งจำเป็นเช่นกัน และบางครั้งผู้ใช้ก็ทำผิดพลาดขณะกำหนดค่าหรือตั้งค่า PuTTY เพื่อแก้ไขข้อผิดพลาดพื้นฐานนี้ ให้ทำตามขั้นตอนด้านล่าง:

  1. เปิด PuTTY บนพีซีของคุณ คลิกการตั้งค่าเริ่มต้น ไฟล์ และ โหลด มัน:โหลดการตั้งค่าเริ่มต้น
  2. ตอนนี้ ค้นหา SSH แท็บแล้วคลิกที่ X11 ตัวเลือก เปิดใช้งาน X11Forwarding และตั้งค่า “X ตำแหน่งที่แสดง ” ถึง “localhost0 ”:การกำหนดค่าการส่งต่อ X11 ใน PuTTY
  3. ตอนนี้คุณจะต้องป้อน ที่อยู่ IP หรือ ชื่อโฮสต์ ของเซิร์ฟเวอร์ที่คุณจะเข้าถึง หลังจากตั้งชื่อโฮสต์หรือที่อยู่ IP แล้ว ให้ตั้งค่า พอร์ตเป็น 22 (หรือพอร์ตใดก็ตามที่คุณตั้งค่าไว้สำหรับ SSH) จากนั้น บันทึกไฟล์เริ่มต้น ”:
  4. คลิกปุ่มเปิดแล้วคุณจะเห็น PuTTY เทอร์มินัล:เข้าสู่ระบบ PuTTY

    ในเทอร์มินัล PuTTY คุณจะต้องป้อน ชื่อผู้ใช้ และรหัสผ่าน ของเซิร์ฟเวอร์ที่คุณจะเข้าถึง เมื่อคุณผ่านข้อโต้แย้งทั้งสองนี้แล้ว คุณจะสามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลได้:

    PuTTY เข้าถึงเซิร์ฟเวอร์

    ดังที่คุณเห็นว่าคุณตั้งค่า PuTTY สำเร็จแล้ว และเข้าถึงเซิร์ฟเวอร์

โซลูชันที่ 4:อนุญาตการกำหนดค่าไฟร์วอลล์สำหรับพอร์ต 22

หากต้องการใช้ X11Forwarding และ พุตตี้ คุณจะต้องกำหนดค่าไฟร์วอลล์และเปิดใช้งาน พอร์ต 22 . ที่นี่ UFW ยูทิลิตี้นี้ใช้เพื่อกำหนดค่า ไฟร์วอลล์ ล:

  1. ดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลของคุณเพื่ออนุญาต SSH เซิร์ฟเวอร์เพื่อเข้าถึงพอร์ต 22 ผ่าน ไฟร์วอลล์ :
    sudo ufw allow ssh
    ให้สิทธิ์การเข้าถึงเซิร์ฟเวอร์ SSH ผ่านไฟร์วอลล์
  2. เปิดใช้งานไฟร์วอลล์ โดยใช้คำสั่งต่อไปนี้:
    sudo ufw enable
    เปิดใช้งานไฟร์วอลล์
  3. ตรวจสอบสถานะไฟร์วอลล์ ด้วยคำสั่งต่อไปนี้:
    sudo ufw status
    ตรวจสอบสถานะไฟร์วอลล์

    ดังที่เราเห็นทั้ง 22/tcp และ 22/tcp (v6 ) เปิดใช้งานแล้ว เมื่อเราทำตามขั้นตอนเหล่านี้เสร็จแล้ว ให้เชื่อมต่อ PuTTY X11 อีกครั้ง และดูว่าข้อผิดพลาดได้รับการแก้ไขหรือไม่ หากต้องการเชื่อมต่อกับเซิร์ฟเวอร์ PuTTY ให้ป้อนชื่อเข้าสู่ระบบและรหัสผ่านของระบบระยะไกลเพื่อเข้าถึงเซิร์ฟเวอร์

    การเข้าถึงเซิร์ฟเวอร์ PuTTY

    คุณแก้ไขข้อผิดพลาดได้สำเร็จและได้รับการเข้าถึงเซิร์ฟเวอร์ระยะไกล

โซลูชันที่ 5:กำหนดค่า X11Forwarding ในการกำหนดค่าเซิร์ฟเวอร์ SSH

เกิดข้อผิดพลาดในการกำหนดค่าอื่นเนื่องจากการอนุญาต PuTTY X11 ถูกปฏิเสธคือการกำหนดค่าที่ไม่ถูกต้องของเซิร์ฟเวอร์ SSH ในการกำหนดค่า เซิร์ฟเวอร์ SSH คุณจะรันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ

sudo nano /etc/ssh/sshd/config
  1. โดยการรันคำสั่งนี้ คุณจะสามารถเข้าถึงไฟล์กำหนดค่าของเซิร์ฟเวอร์ SSH:เข้าถึงเซิร์ฟเวอร์ SSH
  2. ใน SSH การกำหนดค่า ค้นหา X11Forwarding จากนั้นยกเลิกการใส่เครื่องหมายข้อคิดเห็นเพื่อเปิดใช้งาน ตั้งค่า X11Forwarding พารามิเตอร์เป็น “ใช่ ”:เปิดใช้งาน X11Forwarding
  3. หลังจากนั้น ให้ค้นหา “X11Displayoffset ” เปิดใช้งานการตั้งค่านี้และตั้งค่าการแสดงผลเป็น “10 ”:เปิดใช้งาน X11Displayoffset
  4. หลังจากเปิดใช้งานการตั้งค่าข้างต้น ให้เปิดใช้งานชุด “X11UseLocalhost ” ถึง “ไม่ ”:ตั้งค่า X11UseLocalhost เป็นไม่
  5. นอกจากนี้ ให้เปิดใช้งานและตั้งค่า “PrintMotd ” ตั้งค่าเป็น “ไม่ ”:ตั้งค่า PrintMotd เป็นไม่
  6. หลังจากทำตามขั้นตอนข้างต้นทั้งหมดแล้ว ให้บันทึกการตั้งค่าโดยใช้ CTRL+O จากนั้นออกจากไฟล์กำหนดค่าโดยใช้ CTRL+X . หลังจากนั้น ให้ลองเชื่อมต่อกับเซิร์ฟเวอร์อีกครั้งโดยใช้ PuTTY :PuTTY เชื่อมต่อกับเซิร์ฟเวอร์
  7. คุณเข้าสู่ระบบเซิร์ฟเวอร์สำเร็จแล้ว ลองและเข้าถึง xclock โดยใช้คำสั่งต่อไปนี้ใน PuTTY ของคุณ เทอร์มินัล:
    xclock
    เชื่อมต่อ PuTTY และเข้าถึง xclock แล้ว

    คุณแก้ไขข้อผิดพลาดได้สำเร็จและเข้าถึงเครื่องระยะไกลได้

พร็อกซี PuTTY X11:โปรโตคอลการให้สิทธิ์ที่ไม่รองรับ ข้อผิดพลาดคือส่วนที่คุณไม่สามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลโดยใช้ PuTTY มีการกล่าวถึงสาเหตุของข้อผิดพลาดนี้ในโพสต์นี้พร้อมกับวิธีแก้ไข

เกี่ยวกับผู้เขียน

วิธีแก้ไขข้อผิดพลาดโปรโตคอลการอนุญาตที่ไม่รองรับ PuTTY X11 Proxy

เควิน แอร์โรว์ส

Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม