ข้อสังเกตสองข้อนี้อยู่ร่วมกันได้ในบันทึก SSH เดียว:

Local forwarding listening on 127.0.0.1 port 1080.
Tunnel device open failed.

ข้อแรกเกี่ยวกับผู้รับฟัง SOCKS แบบไดนามิก ข้อที่สองเกี่ยวกับอุปกรณ์เครือข่ายอุโมงค์ ทั้งสองเป็นคำขอส่งต่อที่แยกจากกัน

OpenSSH ใช้ -D สำหรับการส่งต่อแบบไดนามิกในระดับแอปพลิเคชัน และ -w สำหรับอุปกรณ์อุโมงค์ การตั้งค่า Tunnel ก็สามารถขออย่างหลังผ่านการกำหนดค่าได้เช่นกัน การไม่ได้รับสิทธิ์หรือการอนุญาตจากเซิร์ฟเวอร์สำหรับอุปกรณ์ TUN ไม่ได้พิสูจน์โดยตัวมันเองว่าผู้รับฟัง SOCKS ก่อนหน้าไม่เคยถูกสร้างขึ้น

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

หากงานที่ตั้งใจมีเพียงการส่งต่อ SOCKS ให้ตรวจสอบว่าเหตุใดจึงมีการขออุปกรณ์อุโมงค์เลย การกำหนดค่าที่จำกัดสามารถปิดคำขอที่ไม่เกี่ยวข้องนั้นได้:

ssh -N -o Tunnel=no -D 127.0.0.1:1080 [email protected]

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

บทความที่เกี่ยวข้อง