วิธีการ ssh เข้าสู่เซิร์ฟเวอร์ที่ทำงานบนเครือข่ายในบ้านหลังเราเตอร์?


22

โอเคดังนั้นฉันมีพีซีในเครือข่ายในบ้านของฉันโดยใช้ Ubuntu บน VM ที่ติดตั้งเซิร์ฟเวอร์ openssh

  1. ฉันจะเข้าถึงจากระยะไกลจากคอมพิวเตอร์เครื่องอื่นนอกเครือข่ายภายในบ้านโดยใช้อินเทอร์เน็ตได้อย่างไร
  2. ฉันใช้ที่อยู่ IP ใดในการเชื่อมต่อ
  3. ฉันต้องทำการส่งต่อพอร์ตแบบใด

VM ใช้ระบบเครือข่ายประเภทใด? สำหรับการใช้งานทั่วไปที่บ้านแนะนำให้เชื่อมต่อบริดจ์จากนั้นสำหรับวัตถุประสงค์ของเครือข่าย VM จะเทียบเท่ากับเครื่องทางกายภาพดังนั้นคุณเพียงแค่ทำการส่งต่อพอร์ตบนเราเตอร์ของคุณตามปกติ
fkraiem

ภายใต้การตั้งค่าเครือข่ายบน VM ของฉันจะแจ้งว่ามีการต่ออะแดปเตอร์เครือข่ายกับ NAT นี่คือภาพหน้าจอ: ลิงค์ฉันต้องเปลี่ยนไหม
Hugo Lobo

การใส่บริดจ์ไว้จะทำให้สิ่งต่าง ๆ ง่ายขึ้นใช่ (โดยทั่วไปกับ NAT คุณต้องทำการส่งต่อพอร์ตสองครั้งบนเราเตอร์ของคุณและใน VBox)
fkraiem

ในความเป็นจริงคุณไม่จำเป็นต้องมีการส่งต่อพอร์ตใด ๆ เมื่อเครื่องที่คุณต้องการเชื่อมต่อสามารถมองเห็นได้จากเซิร์ฟเวอร์ในพื้นที่ของคุณ - เพียงแค่ให้เรา-Lตั้งค่าสถานะที่คำสั่ง ssh - แต่ต้องแน่ใจว่าการเชื่อมต่อ การถ่ายโอนข้อมูล
Roomy

คำตอบ:


22

มีหลายสิ่งที่คุณต้องทำ:

1) เช่นเดียวกับ fkraiem ที่กล่าวถึงในความคิดเห็นของเขาตรวจสอบให้แน่ใจว่า VM ของคุณสามารถเข้าถึงได้บนเครือข่ายท้องถิ่น การใช้การเชื่อมต่อเครือข่าย 'บริดจ์' ในการตั้งค่า VM ควรทำเช่นนั้น จากนั้นใช้คอมพิวเตอร์เครื่องอื่นของคุณ (แม้แต่โฮสต์) ตรวจสอบว่าคุณสามารถเข้าสู่เซิร์ฟเวอร์ SSH ได้หรือไม่ ถ้าคุณทำได้ขอแสดงความยินดีให้ย้ายไปยังขั้นตอนต่อไป

2) ถัดไปคุณต้องรู้วิธีการส่งต่อไปยังเราเตอร์ของคุณ เนื่องจากคุณไม่ได้พูดถึงว่าคุณมีเราเตอร์อะไรคุณจะต้องคิดเอง พอร์ต 22 เป็นสิ่งที่ SSH ใช้ แน่นอนคุณสามารถฟังบนพอร์ตที่สูงกว่าในเราเตอร์เพื่อหลีกเลี่ยงการบันทึกของคุณเต็มไปด้วยสคริปต์ kiddies ที่พยายามแฮ็คเข้าสู่เซิร์ฟเวอร์ของคุณแล้วส่งต่อพอร์ตไปที่ 22 บนเซิร์ฟเวอร์ของคุณ ตัวอย่างเช่นลองนึกภาพ IP ท้องถิ่นของคุณสำหรับเซิร์ฟเวอร์ของคุณคือ 192.168.0.10 IP WAN (อินเทอร์เน็ต) ของคุณคือ 99.99.99.99

99.99.99.99:60022 -> เราเตอร์ -> 192.168.0.10:22

สิ่งที่คุณต้องการทำคือบอกให้เราเตอร์ของคุณฟังพอร์ต 60022 และส่งต่อไปยัง IP 192.168.0.10 และพอร์ต 22

หากต้องการทราบว่า WAN IP ของคุณคืออะไรเพียงแค่ google 'ที่อยู่ IP ของฉันคืออะไร' มีวิธีอื่น ๆ แต่มันเป็นวิธีที่ง่ายที่สุด

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

หากคุณสามารถเชื่อมต่อกับสิ่งนั้นขอแสดงความยินดีอีกครั้ง

3) ตอนนี้คุณต้องแน่ใจว่าที่อยู่ IP ของคุณคงที่ในเครือข่ายท้องถิ่นของคุณและคุณจะต้องรับรายการ DNS แบบไดนามิกสำหรับที่อยู่ IP ของคุณ วิธีนี้คุณจะใช้ชื่อโดเมนแทน WAN IP ของคุณ Google 'ไดนามิก DNS' เพื่อค้นหาบริการฟรี

หวังว่าจะช่วย


นี่คือ "99.99.99.99:60022 -> เราเตอร์ -> 192.168.0.10:22" คำสั่งจริงหรือไม่ "เราเตอร์" หมายความว่าอะไร? ฉันหมายถึงอะไรจะไปที่นี่?
m4l490n

@ m4l490n ไม่นั่นไม่ใช่คำสั่ง เป็นเพียงวิธีแสดงการไหลของการเชื่อมต่อ 99.99.99.99 เป็นเพียงที่อยู่ IP ที่ฉันเลือก ฉันสามารถแสดง XXX.XXX.XXX.XXX ได้ด้วย แต่ฉันพบว่าตัวเลขเข้าใจง่ายขึ้น 60022 เป็นพอร์ต "นอก" ที่เราเตอร์รอรับฟัง จากนั้นพอร์ตจะส่งต่อไปยังที่อยู่ภายในของ 192.168.0.10 และย้ายไปที่พอร์ต 22 เหตุผลที่ฉันไม่ได้เข้าไปดูรายละเอียดเพิ่มเติมก็เพราะว่า OP ไม่ได้ระบุว่าเขาใช้เราเตอร์ (และเฟิร์มแวร์) ใด
G Trawo

4

การตั้งค่าส่วนตัวของฉันคือ:

  1. บนเราเตอร์ไปข้างหน้าพอร์ต 22 จากเครื่องระยะไกลถึง 2222 ของเครื่องท้องถิ่นสมมติว่าตัวอย่าง 192.168.0.33 ด้วยวิธีนี้คุณยังสามารถเข้าถึง ssh ไปยังระบบปฏิบัติการหลักบนเครื่องได้ในขณะที่ 2222 ใช้สำหรับระบบปฏิบัติการเสมือน

    ป้อนคำอธิบายรูปภาพที่นี่

    1. บนกล่องเสมือนให้ส่งต่อโฮสต์ระบบปฏิบัติการ 192.168.0.33 พอร์ต 2222 ไปยังพอร์ตของ guest OS 22. IP ของแขกสามารถพบได้โดยใช้ifconfigคำสั่งบนเกสต์เอง

    ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้ถ้าคุณรู้ว่า IP ของเราเตอร์ของคุณคุณสามารถ ssh กับ IP ของเราเตอร์ของคุณและมันจะถูกส่งต่อไปยังพอร์ต 2222 ของเครื่องทางกายภาพของคุณโดยอัตโนมัติ เครื่องที่มีอยู่จริงจะให้การเชื่อมต่อกับพอร์ต 22 ของเครื่องเสมือน (โดยที่ VM กำลังทำงาน)

หากคุณต้องการ ssh จากเครือข่ายท้องถิ่นให้ใช้ ssh -p 222 192.168.0.33

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