โดยค่าเริ่มต้น VirtualBox ทำงานในโหมด "NAT" ซึ่งหมายความว่ามันจะสร้างเครือข่าย "เสมือน" และแปลการเข้าถึงเครือข่ายจาก VM เพื่อโลกภายนอกพวกเขาดูเหมือนจะมาจากคอมพิวเตอร์จริงของคุณ
VirtualBox ทำให้ VM คิดว่ามันเชื่อมต่อกับเครือข่าย แต่ในความเป็นจริง VirtualBox กำลังให้บริการเครือข่ายรวมถึงเซิร์ฟเวอร์ mini DHCP จากนั้น VirtualBox จะเข้าถึงเครือข่าย "ในนาม" ของ VM ทำให้ปรากฏเป็นแอปพลิเคชันอื่นที่ทำงานบนพีซีของคุณ
อย่างไรก็ตามนี่หมายความว่าโลกภายนอกไม่รู้เกี่ยวกับ VM และไม่สามารถเข้าถึงได้โดยตรง
ฉันคิดว่าการเปลี่ยนเส้นทางพอร์ตที่คุณทำนั้นมาจากเราเตอร์ที่บ้านของคุณไปยังพีซีไม่ใช่ไปยัง VM คุณอาจจะขาดการกำหนดค่าบางอย่างในด้าน VirtualBox ขออภัยหากคุณทำสิ่งนี้ไปแล้ว แต่คำถามของคุณไม่ชัดเจนเกี่ยวกับเรื่องนี้
โดยทั่วไปคุณต้องเปลี่ยนการกำหนดค่าเครือข่ายของ VM และตั้งค่าเป็น "Bridged" สิ่งนี้ทำคือมันสร้างอินเทอร์เฟซเสมือนบนพีซีของคุณและทำให้ VM ใช้สิ่งนั้นเพื่อเข้าถึงโลกภายนอก สิ่งใดก็ตามที่เข้ามาหรือไปยังส่วนต่อประสานนั้นจะถูกส่งไปยัง VM ดังนั้น VM จะสามารถมองเห็นได้เป็นเพียงเครื่องอื่นในเครือข่ายที่พีซีของคุณเชื่อมต่ออยู่ (แม้จะมีที่อยู่ MAC ของตัวเอง!)
จากนั้นขึ้นอยู่กับการกำหนดค่าเครือข่ายของคุณ VM อาจได้รับที่อยู่ DHCP เช่นพีซีเครื่องอื่นที่เชื่อมต่อกับเราเตอร์ของคุณหรือคุณอาจต้องกำหนดค่าที่อยู่ IP แบบคงที่สำหรับมัน ขึ้นอยู่กับการตั้งค่าเครือข่ายของคุณ
เมื่อ VM มีที่อยู่ "ของจริง" คุณสามารถทำตามคำแนะนำที่คุณพบเพื่อกำหนดเส้นทางพอร์ต 22 ไปยังที่อยู่ IP ของ VM สิ่งนี้ควรใช้งานได้ตามที่คุณคาดหวัง
ถ้าไม่:
- ดูการกำหนดค่าไฟร์วอลล์ของ VM (iptables -L -n) มันปิดกั้นอะไรหรือเปล่า
- ตั้งค่าคอมพิวเตอร์เครื่องอื่นในเครือข่ายท้องถิ่นของคุณและลอง SSH ไปยังที่อยู่ IP ของ VM หากทำได้คุณต้องตรวจสอบการกำหนดค่าการส่งต่อในเราเตอร์อีกครั้ง หากคุณทำไม่ได้คุณจะต้องตรวจสอบ SSH และการกำหนดค่าไฟร์วอลล์อีกครั้ง