ฉันมีเครื่องจักรสองสามเครื่องที่มักจะขึ้นหรือลง เมื่อเสร็จแล้วฉันต้องการให้ ssh เข้าถึงพวกเขาโดยใช้ ngrok ฉันได้ตั้งค่า ngrok บนทั้งสองเครื่องแล้ว และไฟล์ปรับแต่งของพวกเขามีลักษณะดังนี้:
การรับรองความถูกต้อง: <AUTH_TOKEN>
อุโมงค์:
ssh_tunnel:
โปรโตคอล: tcp
remote_addr: 3.tcp.ngrok.io:<พอร์ต>
ที่อยู่: 22
รุ่น: "2"
ภูมิภาค: เรา
ที่ไหน <PORT>
แตกต่างกันไปในแต่ละเครื่องฉันยังมีที่อยู่ TCP ใน ngrok และแสดงเป็น "ออนไลน์" เมื่อเปิดเครื่องที่เกี่ยวข้อง
ปัญหาของฉันคือการเชื่อมต่อกับเครื่องที่ฉันต้องการได้อย่างน่าเชื่อถือ ดูเหมือนว่า SSH จะไม่สามารถแยกความแตกต่างระหว่างสองเครื่องเมื่อฉันรันคำสั่งนี้:
ssh <USER>@3.tcp.ngrok.io -p <พอร์ต>
บ่อยครั้งที่มันเชื่อมต่อโดยอัตโนมัติกับเครื่องที่ฉันเพิ่งใช้ ssh'd เข้าไป แม้ว่าฉันจะระบุพอร์ตอื่นที่ไม่ใช่พอร์ตที่กำลังทำงานอยู่ก็ตาม บางครั้งฉันสามารถแก้ไขปัญหานี้ได้โดยการล้างข้อมูล ~/.ssh/config
และ ~/.ssh/known_hosts
แต่นี่ดูเหมือนจะไม่ใช่วิธีที่เชื่อถือได้ในการไปยังเครื่องที่ฉันต้องการ
ผมทำอะไรผิดหรือเปล่า? เหตุใด ssh จึงไม่เคารพพอร์ตที่ระบุ ngrok ส่งคำขอของฉันไปยังตำแหน่งที่ไม่ถูกต้องหรือไม่