ssh การส่งต่อพอร์ตและการเชื่อมโยงระยะไกลล้มเหลว: ExitOnForwardFailure ไม่ทำงาน?


4

ฉันมีโฮสต์ FreeBSD 9 สองตัวและฉันต้องการบำรุงรักษาช่องสัญญาณเพื่อเข้าถึงไฟร์วอลล์โฮสต์ R จากพอร์ตสูงบนโฮสต์คลาวด์ C

ssh -y -i tunnel_id_rsa -o ConnectTimeout=60 -o ServerAliveInterval=20 
    -o ServerAliveCountMax=5 -oBatchMode=yes -o ExitOnForwardFailure=yes
    -nNR :11432:127.0.0.1:443 tunnel@c.mydomain.com

ใช้งานได้เกือบตลอดเวลา แต่ในกรณีที่พอร์ตไม่ดีและไม่สามารถฟังบน C ฉันไม่เห็นข้อมูลที่ป้อนกลับไปยังไคลเอนต์ที่โทรบน R การอ่านเอกสารและอ่านคำถามอื่นดูเหมือนว่า ExitOnForwardFailure ควรจะ ทำเช่นนี้. แต่มันไม่ใช่ ... ฉันเห็นข้อผิดพลาดในบันทึกของ c: error: bind: Address already in use

และจากนั้นใน R ฉันเพิ่งมีการเชื่อมต่อไร้สาระ ssh ไร้หัวกับ C ที่จะไม่ตายและไม่ทำอะไรที่ดี สิ่งที่ฉันต้องการจะทำก็แค่กระบวนการ SSH นั้นจะตายเมื่อการผูกล้มเหลวดังนั้นฉันจึงสามารถลองใหม่ได้

มีอย่างอื่นที่ป้องกันไม่ให้ข้อความโปรโตคอลกลับไปที่ R หรือไม่? มีบางอย่างที่ทำให้ ExitOnForwardFailure ไม่ทำงานหรือไม่ ฉันไม่เห็นอะไรเลยใน stderr บน R เกี่ยวกับข้อผิดพลาดซึ่งดูเหมือนว่าน่าสงสัยตามรายงานและคำถามอื่น ๆ

(ฉันได้ลองวางตัวเลือก -y และ -n เช่นเดียวกับการใช้รหัสผ่านแบบโต้ตอบปกติโดยไม่มีคีย์ ... ผลลัพธ์เดียวกัน)


นี่เป็นข้อบกพร่องใน OpenSSH หรือไม่ ฉันได้รับการเผาไหม้อย่างต่อเนื่อง (กล่อง OpenWRT ระยะไกลหลายสิบหลัง NAT) โดยไม่ทำงาน ExitOnForwardFailure
andyn

ดูเหมือนว่ามันจะไม่ล้มเหลวมันสามารถผูกพอร์ตหนึ่งพอร์ตได้แม้ว่าพอร์ตอื่นจะล้มเหลว: securityfocus.com/archive/121/505298/30/480/threaded
greg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.