วิธีการเชื่อมต่อ ssh 'กับ' พอร์ตที่ระบุ?


56

ฉันรู้วิธีการเชื่อมต่อ 'กับ' พอร์ตที่แน่นอนเมื่อกำลังทำ

ssh user@remotehostip -p XXX

แต่มีวิธีการสร้าง ssh 'กับ' พอร์ตที่แน่นอนหรือไม่

ฉันหมายถึงมีวิธีระบุพอร์ตที่คอมพิวเตอร์ในพื้นที่ของฉันจะใช้หรือไม่


คุณหมายถึงการเปลี่ยนพอร์ตเซิร์ฟเวอร์หรือพอร์ตที่รับของลูกค้าหรือไม่ แก้ไข: ตกลงฉันลบข้อเสนอแนะของฉัน รายการโปรด
polym

ฉันต้องการระบุพอร์ตของลูกค้า
kwagjj

3
@kwagjj คุณหมายถึงพอร์ตต้นทางหรือไม่ ถ้าไม่เช่นนั้นคุณจะไม่สามารถควบคุมพอร์ตต้นทางได้
แพทริค

คำตอบ:


15

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

คุณสามารถเรียกใช้ไคลเอ็นต์ SSH ในคอนเทนเนอร์ LXC ฉันไม่เคยทำอย่างนั้นฉันจึงไม่สามารถอธิบายให้คุณอย่างละเอียดได้ แต่คุณสร้างอินเทอร์เฟซเครือข่ายเสมือนและแนบกับคอนเทนเนอร์นี้เพื่อที่sshจะใช้อินเทอร์เฟซนี้เนื่องจากเป็นอินเทอร์เฟซ (ภายนอก) เท่านั้นที่เห็น

ในระบบโฮสต์คุณควรตรวจสอบว่าแพ็คเก็ตมาจากอินเตอร์เฟสนี้ ดังนั้นคุณสามารถใช้ NAT (SNAT) ของ Netfilter เพื่อเขียนที่อยู่แหล่งใหม่ด้วยสิ่งต่อไปนี้:

iptables -t nat -A POSTROUTING -o vnet0 -p tcp --dport 22 -j SNAT --to-source :1234

แน่นอนว่าวิธีนี้ใช้ไม่ได้ (หรือซับซ้อนมากขึ้น) หากคุณเชื่อมต่อกับพอร์ตที่แตกต่างจาก 22


1
ขอบคุณ ... แต่ฉันคิดว่าข้อมูลนี้ไม่ได้อยู่ในลีกของฉัน ... แต่ก็ยังคงขอบคุณ :) แต่ถ้าฉันตีจุดจบจริงๆกับสิ่งที่ฉันทำ .. บางทีฉันอาจจะหันไปมองสิ่งนี้ ตอบอีกครั้ง :)
kwagjj

ใช่มันยากมากที่จะหาข้อมูลเกี่ยวกับปัญหานั้น ฉันพบsshfsและมีคนบอกว่ามันทำงานกับคำสั่งนี้ แต่ฉันไม่เชื่อ หากคุณพบคำตอบโปรดแจ้งให้เราทราบ :)!
polym

@kwagjj มันอาจจะง่ายกว่า (ที่จะเข้าใจ) ในการติดตั้งลีนุกซ์ (โหมดข้อความ) ที่สมบูรณ์เหมือน VM จริง หากคุณใช้ VM นี้ (หรือบางบัญชีในนั้น) สำหรับ SSH เท่านั้นคุณสามารถทำได้ด้วย VM Netfilter
Hauke ​​Laging

6

ไวยากรณ์คำสั่งที่คุณกำลังค้นหาอาจเป็นแบบนี้ ssh -p XXX user @ remotehostip คุณต้องเปลี่ยนคำสั่งของตัวเลือก ลองตอนนี้มันใช้งานได้สำหรับฉัน ด้วยความเคารพ.


2

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

นี่อาจไม่ช่วยคุณได้ แต่ฉันคิดว่าหลายคนจะจบที่นี่ด้วยเหตุนี้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.