PuTTY X11 เป็นกลไกสำหรับ remote access ไปยังแอปพลิเคชันและเซิร์ฟเวอร์ โดยการ forward display และ control ของแอปพลิเคชันเหล่านั้นไปยัง local host machine ทำให้เครื่อง local ของผู้ใช้สามารถโต้ตอบกับ GUI/SSH ของ remote machine ได้อย่างง่ายดาย
PuTTY X11 proxy unsupported authorization protocol Fix
อย่างไรก็ตาม บางครั้งพยายามเข้าถึงเซิร์ฟเวอร์หรือแอปพลิเคชัน ผู้ใช้อาจเจอข้อผิดพลาด PuTTY X11 proxy: Unsupported authorization protocol สาเหตุหลายประการ ได้แก่:
- Ownership ของ Xauthority file ผิด (และ Locked Files)
- Xauthority file เสียหาย (Corrupt)
- การตั้งค่า PuTTY ไม่ถูกต้อง (Invalid configuration)
- การตั้งค่า authorization ผิด / Firewall
- X11forwarding ไม่ได้ตั้งค่าใน SSH config
บทความนี้สาธิตวิธีแก้ไข unsupported authorization error สำหรับ PuTTY
วิธีที่ 1: เปลี่ยน Ownership ของ Xauthority file
ไฟล์ Xauthority เป็นองค์ประกอบหลักของ PuTTY เพราะเก็บ cookies และ credentials สำหรับ Xserver เพื่อ authentication การเชื่อมต่อ Error unsupported authorization protocol เกิดเมื่อ Xauthority file หายหรือ user ไม่ใช่ owner ของไฟล์ มาแก้ไขกัน:
- ใช้คำสั่ง list หา Xauthority file และตรวจสอบ ownership:
ls -al .Xauthority
หา Xauthority file
Xauthority file ปัจจุบันเป็นของ root user ลองเข้าถึง server ด้วย PuTTY ดูตอบสนองอย่างไร: Unsupported authorization protocol
Output แสดงว่าจำเป็นต้องให้ user ควบคุม Xauthority ได้ - เปลี่ยน ownership ของ Xauthority file ให้ logged-in user คำสั่ง: (แทน “linux-user” ด้วย username จริง)
sudo chown linux-user .Xauthority
Change Xauthority ownership - เมื่อ unsupported authorization protocol error เกิดขึ้น Xauthority file มักถูก lock (locked files) ถ้าไฟล์ถูกล็อก ownership ที่ถูกต้องก็ไม่ช่วย ต้องตรวจสอบและลบ locked files รัน ls -al ดูว่า Xauthority-c และ Xauthority-l มีอยู่ไหม:
ls -al
Show list to find Xauthority files
ถ้ามี ให้ลบ Xauthority-c และ Xauthority-l ด้วย:rm .Xauthority-c .Xauthority-l
หมายเหตุ: Restart เครื่องและ PuTTY connection เพื่อให้การเปลี่ยนแปลงมีผล - Reconnect ไป PuTTY server และเรียก “xclock” ทดสอบ: Connected to PuTTY
Authorization error แก้ไขสำเร็จแล้ว
วิธีที่ 2: แทนที่ Xauthority file ที่เสียหาย
บางกรณี Xauthority file อาจ corrupt ทำให้ไม่ authorize เข้า server วิธีแก้:
- รัน “ls – al” ตรวจสอบ Xauthority file มีอยู่ไหม
- ลบ Xauthority file:
rm .Xauthority
Remove Xauthority file - ลบเสร็จแล้ว reconnect server ด้วย PuTTY จะสร้าง Xauthority file ใหม่ใน directory รัน “xclock”: Connection established successfully
เข้าสู่ PuTTY และเข้าถึง Xclock สำเร็จ
วิธีที่ 3: ตั้งค่า PuTTY ใหม่ (Invalid configuration)
การตั้งค่า PuTTY สำคัญ บางครั้ง user ตั้งค่าผิด วิธีแก้:
- เปิด PuTTY บน PC คลิก Default Settings file และ load: Load default settings
- ไปที่ tab SSH คลิก X11 เปิดใช้งาน X11Forwarding และตั้ง “X display location” เป็น “localhost:0”: Configuring X11 forwarding in PuTTY
- กรอก IP address หรือ Host Name ของเซิร์ฟเวอร์ ตั้ง Port เป็น 22 (หรือ port SSH ที่ตั้งไว้) แล้ว save “Default File”
- กด Open จะได้ PuTTY terminal: PuTTY login
ใน terminal ใส่ Username และ password ของเซิร์ฟเวอร์ จะได้เข้าถึง remote server: PuTTY accessed server
ตั้งค่า PuTTY และเข้าถึงเซิร์ฟเวอร์สำเร็จ
วิธีที่ 4: อนุญาต Firewall ให้ port 22
เพื่อใช้ X11Forwarding และ PuTTY ต้องตั้งค่า Firewall เปิด Port 22 ใช้ UFW utility:
- รันคำสั่งเพื่ออนุญาต SSH server เข้าถึง port 22 ผ่าน Firewall:
sudo ufw allow ssh
Give access to SSH server through Firewall - เปิดใช้งาน Firewall:
sudo ufw enable
Enable Firewall - ตรวจสอบสถานะ Firewall:
sudo ufw status
Check Firewall status
เห็นว่า 22/tcp และ 22/tcp (v6) enabled แล้ว reconnect PuTTY X11 ดูว่า error หายไหม ใส่ login name และ password remote system เพื่อเข้าถึง: PuTTY server access
แก้ error สำเร็จ เข้าถึง remote server ได้
วิธีที่ 5: ตั้งค่า X11Forwarding ใน SSH Server config
อีกสาเหตุคือ SSH server config ไม่ถูกต้อง ตั้งค่า SSH server ด้วยคำสั่ง:
sudo nano /etc/ssh/sshd_config
- รันคำสั่งจะได้เข้าถึง SSH server config file: Access SSH server
- ใน SSH config หา X11Forwarding uncomment เพื่อ enable ตั้งค่าเป็น “yes”: Enable X11Forwarding
- หา “X11DisplayOffset” enable ตั้ง display เป็น “10”: Enable X11DisplayOffset
- Enable และตั้ง “X11UseLocalhost” เป็น “no”: Set X11UseLocalhost to no
- Enable และตั้ง “PrintMotd” เป็น “no”: Set PrintMotd to no
- Save ด้วย CTRL+O แล้ว exit ด้วย CTRL+X ลอง reconnect ด้วย PuTTY: PuTTY connected to server
- login สำเร็จ ลองเข้าถึง xclock ใน PuTTY terminal:
xclock
PuTTY connected and xclock accessed
แก้ error สำเร็จ เข้าถึง remote machine ได้
ข้อผิดพลาด PuTTY X11 proxy: unsupported authorization protocol คือไม่สามารถเข้าถึง remote server ด้วย PuTTY ได้ สาเหตุและวิธีแก้ได้ระบุไว้ในบทความนี้แล้ว
ABOUT THE AUTHOR

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