ฉันได้รับข้อผิดพลาดโปรโตคอลที่พยายาม Putty ไม่ถูกต้องเมื่อฉัน SSH เข้าสู่เซิร์ฟเวอร์ของฉันจาก Windows


12

ฉันมี Putty ที่เชื่อมต่อผ่าน SSH ไปยังเซิร์ฟเวอร์ Ubuntu 12.10 ของฉันเป็นเวลาหลายเดือน เมื่อวานนี้ฉันเริ่มได้รับข้อผิดพลาดต่อไปนี้ทุกครั้งที่ฉันเชื่อมต่อ:

PuTTY X11 proxy: พยายามตรวจสอบโปรโตคอลผิดพลาด

ฉันสามารถทำทุกอย่างในเซสชันยกเว้นเรียกใช้แอปพลิเคชัน X Windows สำหรับความรู้ของฉันไม่มีอะไรเปลี่ยนแปลงบนฝั่ง Windows และฉันเพิ่งติดตั้งการอัปเดต @ 20 ทางฝั่ง Ubuntu ระหว่างการบำรุงรักษาอัปเกรดปกติ

ฉันใช้ Xming เป็นเซิร์ฟเวอร์ X บนไคลเอนต์ Windows และอย่างที่ฉันบอกว่ามันใช้งานได้ดี ฉันมีผลการค้นหาของ Google หลายสิบรายการพร้อมกับข้อผิดพลาดนี้และดูเหมือนว่าส่วนใหญ่เกี่ยวข้องกับข้อผิดพลาดที่เกิดขึ้นหลังจากการเชื่อมต่อ SSH ในขณะที่พยายาม SU หรือ SUDO ไปยังบัญชีอื่น แต่สิ่งนี้เกิดขึ้นกับการเชื่อมต่อผู้ใช้ปกติของฉัน

ฉันได้ลองลบไฟล์. Xauthority ในโฮมไดเร็กตอรี่ของฉัน, และ xauth เพิ่มคำสั่งต่าง ๆ เพื่อลองและได้รับ "magic cookie" ที่ถูกต้องกลับไปยังไฟล์. Xauthority. ไม่มีอะไรทำงาน

ความคิดใด ๆ


3
คุณอาจจะเคยเห็นนี้ ฉันเข้าใจว่าสาเหตุของปัญหาของคุณไม่เหมือนกับสาเหตุที่เกิดขึ้น แต่คุณลองใช้โซลูชันที่ปลอดภัยน้อยกว่าแล้วForwardX11Trustedใช่ไหม (สิ่งนี้ไม่ควรทำเมื่อผู้ใช้ที่ไม่น่าเชื่อถือที่สามารถ SSH เข้าดูman 5 ssh_configได้) ถ้ามันปลอดภัยสำหรับคุณที่จะเปิดใช้งานสิ่งนี้แม้ว่าคุณจะไม่ต้องการเปิดใช้งานมันก็จะให้ข้อมูลที่มีค่า
Eliah Kagan

นอกจากนี้คุณบอกว่าคุณลอง "คำสั่ง xauth เพิ่มคำสั่ง" ต่าง ๆ ... แต่ผลลัพธ์ของxauthคำสั่งที่ให้ข้อมูลตามที่คาดไว้คืออะไร? ถ้าไม่นั่นอาจทำให้เกิดแสงสว่างขึ้นในสถานการณ์ อะไรคือผลลัพธ์ของxauth list(คุณสามารถไปข้างหน้าและลบหรือแทนที่คีย์เลขฐานสิบหกโดยไม่จำเป็นต้องแชร์) วิธีที่ดีที่สุดที่จะให้ข้อมูลทั้งหมดนี้คือการแก้ไขคำถามของคุณ ; โปรดระบุรายละเอียดให้มากที่สุดเท่าที่จะทำได้เกี่ยวกับคำสั่ง xauth ทั้งหมดที่คุณลองและสิ่งที่เกิดขึ้น
Eliah Kagan

คุณช่วยกรุณาโพสต์สกรีนของการกำหนดค่า X11 ของ Putty ของคุณซึ่งจะอยู่ใน SSH ที่แถบด้านซ้ายได้หรือไม่? หากฉันไม่ผิดเซิร์ฟเวอร์ของคุณคาดหวังให้คุณทำการอนุญาต XDM แต่คุณพยายามทำ Magic Cookie เพียงลองเปลี่ยนเป็น XDM-Authorization-1
thefourtheye

มีการเปลี่ยนแปลงล่าสุดในเซิร์ฟเวอร์: /etc/ssh/sshd.conf เปลี่ยน "Protocol 1,2" เป็น "Protocol 2" หรือไม่ มีช่องโหว่ที่รู้จักกันดีในโปรโตคอล 1 แต่นั่นอาจเป็นสิ่งที่ Putty ใช้ หรือว่าคุณกำหนดค่า Putty ให้ใช้โปรโตคอล 2
waltinator

คำตอบ:


2

ฟอร์แมตใหม่เพื่อถามจากhttp://froebe.net/blog/2008/11/14/getting-xlib-putty-x11-proxy-wrong-authentication-protocol-attempted-i-have-the-answer/

ดังกล่าวข้างต้นคุณสามารถแบ่งการรักษาความปลอดภัยของคุณโดยการเปลี่ยนForwardX11Trusted yesใน/etc/ssh/sshd_configไฟล์บนเซิร์ฟเวอร์และรีสตาร์ท sshd โซลูชันเต็มรูปแบบคือการถ่ายโอนการอนุญาตไปยังบัญชีอื่นชั่วคราว

ก่อนอื่นลูกค้าของคุณจะได้รับรหัสจากบัญชีของคุณ (บน windows นี่สำหรับ xming และอาจอยู่ในการกำหนดค่า xming):

$ xauth list
aspc2o1/unix:10 MIT-MAGIC-COOKIE-1 bc664c66cfec3c5c3d5b0efc4ee9d3ad

ถัดไปเข้าสู่บัญชี ssh / putty ของคุณและเพิ่มคีย์ xming (ซึ่งอาจอยู่ในการกำหนดค่าสำหรับ putty)

$ xauth add aspc2o1/unix:10 MIT-MAGIC-COOKIE-1 bc664c66cfec3c5c3d5b0efc4ee9d3ad

ตอนนี้คุณน่าจะสามารถเปิดแอพได้เมื่อคุณส่งต่อ X display over ssh


1
ไม่มีใครอ่าน man pages อีกต่อไปดูเหมือนว่า การตั้งค่าตัวเลือกนี้sshd_configจะป้องกันไม่ให้เซิร์ฟเวอร์ SSH เริ่มต้นได้สำเร็จ! ลองเทียบกับman sshd_config|grep ForwardX11Trusted man ssh_config|grep ForwardX11Trusted-1
0xC0000022L

ขอบคุณคน ... แก้ไขปัญหาของฉันจาก Putty / Windows / XMing เป็น Raspbian Pixel ... แสดงตัวเลขสำหรับ X อย่างแปลกประหลาดเมื่อฉันยกระดับ previlege (sudo su) คือ: 11 ... ไม่ใช่: 10 ... ทำไม
ZEE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.