PuTTY X11 เป็นกลไกในการเข้าถึงแอปพลิเคชันและเซิร์ฟเวอร์จากระยะไกลโดยการส่งต่อการแสดงผลและการควบคุมแอปพลิเคชันเหล่านี้ไปยังเครื่องโฮสต์ภายในเครื่อง ช่วยให้เครื่องภายในของผู้ใช้โต้ตอบกับ GUI/SSH ของเครื่องระยะไกลซึ่งช่วยให้เข้าถึงได้ง่าย
แก้ไขโปรโตคอลการอนุญาต PuTTY X11 พรอกซีที่ไม่รองรับอย่างไรก็ตาม บางครั้งพยายามเข้าถึงเซิร์ฟเวอร์หรือแอปพลิเคชัน ผู้ใช้สามารถเรียกใช้ พร็อกซี PuTTY X11:โปรโตคอลการอนุญาตที่ไม่รองรับ ข้อผิดพลาด ข้อผิดพลาดนี้อาจเกิดจากสาเหตุหลายประการ ซึ่งรวมถึง:
- การเป็นเจ้าของไฟล์ Xauthority ไม่ถูกต้อง (และไฟล์ที่ถูกล็อค)
- ไฟล์ Xauthority เสียหาย
- การกำหนดค่า PuTTY ไม่ถูกต้อง
- ไฟร์วอลล์การตั้งค่าการอนุญาตไม่ถูกต้อง
- การส่งต่อ X11 ไม่ได้กำหนดค่าในการกำหนดค่า SSH
บทความนี้สาธิตวิธีการแก้ไขข้อผิดพลาดในการอนุญาตที่ไม่รองรับสำหรับ PuTTY
โซลูชันที่ 1:เปลี่ยนความเป็นเจ้าของไฟล์ Xauthority
อำนาจ X ไฟล์เป็นองค์ประกอบหลักในการใช้ PuTTY เนื่องจากไฟล์นี้จัดเก็บคุกกี้และข้อมูลรับรองสำหรับ Xserver เพื่อวัตถุประสงค์ในการตรวจสอบการเชื่อมต่อ ข้อผิดพลาดโปรโตคอลการอนุญาตที่ไม่รองรับเกิดขึ้นเมื่อไฟล์ Xauthority หายไปหรือผู้ใช้ไม่ใช่เจ้าของไฟล์ ให้เราทำตามขั้นตอนและแก้ไขข้อผิดพลาดนี้
- ใช้คำสั่ง list ที่กำหนดเพื่อค้นหาไฟล์ Xauthority และยืนยันความเป็นเจ้าของ:
ls -al .Xauthority
ค้นหาไฟล์ Xauthorityอำนาจ X ขณะนี้ไฟล์เป็นของผู้ใช้รูท เรามาเข้าถึงเซิร์ฟเวอร์โดยใช้ PuTTY กันดีกว่า เพื่อดูว่าจะตอบสนองต่อปัญหาการเป็นเจ้าของนี้อย่างไร:
โปรโตคอลการอนุญาตที่ไม่รองรับผลลัพธ์ข้างต้นแสดงให้เห็นว่าผู้ใช้จำเป็นต้องควบคุม Xauthority .
- เปลี่ยนความเป็นเจ้าของไฟล์ Xauthority ไปยังผู้ใช้ที่เข้าสู่ระบบ และดำเนินการตามคำสั่งต่อไปนี้:
หมายเหตุ :เขียนชื่อผู้ใช้ที่คุณต้องการใช้แทน “linux-user” ที่กำหนดในคำสั่ง:sudo chown linux-user .Xauthority
เปลี่ยนความเป็นเจ้าของ Xauthority - เมื่อ โปรโตคอลการอนุญาตที่ไม่รองรับ เกิดข้อผิดพลาด ไฟล์ Xauthority มักจะถูกล็อค เมื่อไฟล์นี้ถูกล็อค การเป็นเจ้าของที่ถูกต้องจะไม่สามารถแก้ไขปัญหาได้เช่นกัน ดังนั้นผู้ใช้จำเป็นต้องตรวจสอบไฟล์ที่ถูกล็อคและลบออก เรียกใช้ ls -al คำสั่งเพื่อตรวจสอบว่า Xauthority-c และ Xauthority-l มีไฟล์อยู่:
ls -al
แสดงรายการเพื่อค้นหาไฟล์ Xauthorityหากมีไฟล์เหล่านี้อยู่ ให้ลบ Xauthority-c และ Xauthority-l ไฟล์โดยใช้คำสั่งต่อไปนี้:
rm .Xauthority-c .Xauthority-l
<แข็งแกร่ง>
หมายเหตุ :รีสตาร์ทเครื่องและการเชื่อมต่อ PuTTY เพื่อให้การเปลี่ยนแปลงมีผล - เชื่อมต่อกับเซิร์ฟเวอร์ PuTTY อีกครั้งแล้วเรียก “xclock ” เพื่อทดสอบเซิร์ฟเวอร์:เชื่อมต่อกับ PuTTY
ข้อผิดพลาดในการอนุญาตได้รับการแก้ไขเรียบร้อยแล้ว
วิธีแก้ปัญหา 2:แทนที่ไฟล์ Xauthority ที่เสียหาย
ในบางกรณี ไฟล์ Xauthority อาจเสียหายได้ และด้วยเหตุนี้ การเข้าถึงเซิร์ฟเวอร์จึงไม่ได้รับอนุญาต เพื่อแก้ไขปัญหานี้ คุณจะต้องทำตามขั้นตอนต่อไปนี้
- เรียกใช้คำสั่ง “ls – al ” คำสั่งเพื่อตรวจสอบว่ามีไฟล์ Xauthority ของเราอยู่หรือไม่:
- หากต้องการลบ Xauthority ไฟล์ ให้ใช้คำสั่งต่อไปนี้:
rm .Xauthority
ลบไฟล์ Xauthority - เมื่อคุณลบไฟล์ Xauthority แล้ว ให้เชื่อมต่อเซิร์ฟเวอร์อีกครั้งโดยใช้ PuTTy สิ่งนี้จะสร้างไฟล์ Xauthority ใหม่ในไดเร็กทอรี และเรียกใช้คำสั่ง “xclock ” คำสั่ง:สร้างการเชื่อมต่อสำเร็จแล้ว
คุณเข้าสู่ระบบ PuTTY และเข้าถึง Xclock สำเร็จแล้ว
โซลูชันที่ 3:กำหนดค่าการกำหนดค่า PuTTY ที่ไม่ถูกต้องอีกครั้ง
การตั้งค่า PuTTY ของคุณก็เป็นสิ่งจำเป็นเช่นกัน และบางครั้งผู้ใช้ก็ทำผิดพลาดขณะกำหนดค่าหรือตั้งค่า PuTTY เพื่อแก้ไขข้อผิดพลาดพื้นฐานนี้ ให้ทำตามขั้นตอนด้านล่าง:
- เปิด PuTTY บนพีซีของคุณ คลิกการตั้งค่าเริ่มต้น ไฟล์ และ โหลด มัน:โหลดการตั้งค่าเริ่มต้น
- ตอนนี้ ค้นหา SSH แท็บแล้วคลิกที่ X11 ตัวเลือก เปิดใช้งาน X11Forwarding และตั้งค่า “X ตำแหน่งที่แสดง ” ถึง “localhost0 ”:การกำหนดค่าการส่งต่อ X11 ใน PuTTY
- ตอนนี้คุณจะต้องป้อน ที่อยู่ IP หรือ ชื่อโฮสต์ ของเซิร์ฟเวอร์ที่คุณจะเข้าถึง หลังจากตั้งชื่อโฮสต์หรือที่อยู่ IP แล้ว ให้ตั้งค่า พอร์ตเป็น 22 (หรือพอร์ตใดก็ตามที่คุณตั้งค่าไว้สำหรับ SSH) จากนั้น บันทึก “ไฟล์เริ่มต้น ”:
- คลิกปุ่มเปิดแล้วคุณจะเห็น PuTTY เทอร์มินัล:เข้าสู่ระบบ PuTTY
ในเทอร์มินัล PuTTY คุณจะต้องป้อน ชื่อผู้ใช้ และรหัสผ่าน ของเซิร์ฟเวอร์ที่คุณจะเข้าถึง เมื่อคุณผ่านข้อโต้แย้งทั้งสองนี้แล้ว คุณจะสามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลได้:
PuTTY เข้าถึงเซิร์ฟเวอร์ดังที่คุณเห็นว่าคุณตั้งค่า PuTTY สำเร็จแล้ว และเข้าถึงเซิร์ฟเวอร์
โซลูชันที่ 4:อนุญาตการกำหนดค่าไฟร์วอลล์สำหรับพอร์ต 22
หากต้องการใช้ X11Forwarding และ พุตตี้ คุณจะต้องกำหนดค่าไฟร์วอลล์และเปิดใช้งาน พอร์ต 22 . ที่นี่ UFW ยูทิลิตี้นี้ใช้เพื่อกำหนดค่า ไฟร์วอลล์ ล:
- ดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลของคุณเพื่ออนุญาต SSH เซิร์ฟเวอร์เพื่อเข้าถึงพอร์ต 22 ผ่าน ไฟร์วอลล์ :
sudo ufw allow ssh
ให้สิทธิ์การเข้าถึงเซิร์ฟเวอร์ SSH ผ่านไฟร์วอลล์ - เปิดใช้งานไฟร์วอลล์ โดยใช้คำสั่งต่อไปนี้:
sudo ufw enable
เปิดใช้งานไฟร์วอลล์ - ตรวจสอบสถานะไฟร์วอลล์ ด้วยคำสั่งต่อไปนี้:
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
- โดยการรันคำสั่งนี้ คุณจะสามารถเข้าถึงไฟล์กำหนดค่าของเซิร์ฟเวอร์ SSH:เข้าถึงเซิร์ฟเวอร์ SSH
- ใน SSH การกำหนดค่า ค้นหา X11Forwarding จากนั้นยกเลิกการใส่เครื่องหมายข้อคิดเห็นเพื่อเปิดใช้งาน ตั้งค่า X11Forwarding พารามิเตอร์เป็น “ใช่ ”:เปิดใช้งาน X11Forwarding
- หลังจากนั้น ให้ค้นหา “X11Displayoffset ” เปิดใช้งานการตั้งค่านี้และตั้งค่าการแสดงผลเป็น “10 ”:เปิดใช้งาน X11Displayoffset
- หลังจากเปิดใช้งานการตั้งค่าข้างต้น ให้เปิดใช้งานชุด “X11UseLocalhost ” ถึง “ไม่ ”:ตั้งค่า X11UseLocalhost เป็นไม่
- นอกจากนี้ ให้เปิดใช้งานและตั้งค่า “PrintMotd ” ตั้งค่าเป็น “ไม่ ”:ตั้งค่า PrintMotd เป็นไม่
- หลังจากทำตามขั้นตอนข้างต้นทั้งหมดแล้ว ให้บันทึกการตั้งค่าโดยใช้ CTRL+O จากนั้นออกจากไฟล์กำหนดค่าโดยใช้ CTRL+X . หลังจากนั้น ให้ลองเชื่อมต่อกับเซิร์ฟเวอร์อีกครั้งโดยใช้ PuTTY :PuTTY เชื่อมต่อกับเซิร์ฟเวอร์
- คุณเข้าสู่ระบบเซิร์ฟเวอร์สำเร็จแล้ว ลองและเข้าถึง xclock โดยใช้คำสั่งต่อไปนี้ใน PuTTY ของคุณ เทอร์มินัล:
xclock
เชื่อมต่อ PuTTY และเข้าถึง xclock แล้วคุณแก้ไขข้อผิดพลาดได้สำเร็จและเข้าถึงเครื่องระยะไกลได้
พร็อกซี PuTTY X11:โปรโตคอลการให้สิทธิ์ที่ไม่รองรับ ข้อผิดพลาดคือส่วนที่คุณไม่สามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลโดยใช้ PuTTY มีการกล่าวถึงสาเหตุของข้อผิดพลาดนี้ในโพสต์นี้พร้อมกับวิธีแก้ไข
เกี่ยวกับผู้เขียน
เควิน แอร์โรว์ส
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม ป>