VirtualBox Host ssh ถึงแขก


53

ฉันมีโฮสต์ Mac และแขก VirtualBox Linux ขณะนี้ใช้โหมด Bridged

ฉันต้องสามารถ SSH เข้ากับแขกจากโฮสต์ได้อย่างง่ายดาย มันเป็นการดีที่จะใช้ชื่อโฮสต์ แต่ที่อยู่ IP ที่ไม่เคยเปลี่ยนแปลงจะดีเช่นกัน (ในปัจจุบันการเปลี่ยนแปลง IP กับเครือข่ายใหม่ที่ฉันเข้าร่วมแต่ละเครือข่ายและชื่อโฮสต์ไม่เคยทำงาน)

ฉันยังต้องการอินเทอร์เน็ตจากแขก

เครื่องอื่น ๆ ในเครือข่ายไม่จำเป็นต้องเข้าถึงแขก

วิธีที่ดีที่สุดในการกำหนดค่าเครือข่าย VirtualBox ของฉันคืออะไร


1
ที่เกี่ยวข้องกับสิ่งนี้ให้พิจารณาการเริ่มต้นแขก VB โดยไม่ต้อง GUI: superuser.com/questions/135498/ …
Fabricio PH

คำตอบ:


36

ก่อนอื่นคุณจะต้องสร้างvboxnet0ส่วนต่อประสาน

VirtualBox> ไฟล์> การตั้งค่า> เครือข่าย> เครือข่ายเฉพาะโฮสต์> เพิ่ม (คุณจะได้รับ vboxnet0)

จากนั้นรันสิ่งนี้บนเครื่องโฮสต์ คุณจะเห็นอินเทอร์เฟซใหม่vboxnet0ปรากฏขึ้น

ifconfig

ปิด VM ของคุณและทำ:

VM's Settings > System > check "Enable I/O APIC."
VM's Settings > Network > Adapter 2 > host-only vboxnet0

เริ่ม VM ในการเรียกใช้ของผู้เยี่ยมชม

ifconfig

และตรวจสอบไอพี

ตรวจสอบลิงค์เหล่านี้:

  1. https://forums.virtualbox.org/viewtopic.php?f=8&t=40076
  2. http://www.wiredrevolution.com/virtualbox/setup-ssh-access-between-virtualbox-host-and-guest-vms

นอกจากนี้ยังมีทางออกสำหรับ NAT แต่ฉันยังไม่ได้ตรวจสอบ

การกำหนดค่าการส่งต่อพอร์ตด้วย NAT ในเครื่องโฮสต์ของคุณ

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

เชื่อมต่อกับ linux ของคุณผ่านพอร์ต 2222 ของเครื่องโฮสต์ของคุณ

ssh -l -p 2222 localhost

สำหรับเครือข่ายโฮสต์เท่านั้นที่มี ip แบบคงที่ให้ทำดังนี้

https://stackoverflow.com/questions/5906441/how-to-ssh-to-a-virtualbox-guest-externally-through-a-host/27152153#27152153

เหมาะสำหรับ Solaris 10 และ Ubuntu 16.04 แต่ควรปรับให้เข้ากับเรื่องง่าย


2
ขอบคุณฉันจบลงด้วยการเปิดใช้งานการส่งต่อพอร์ต VirtualBox ssh localhost -p 7022และฉันสามารถที่จะเชื่อมต่อผ่าน
โทมัสฮันเตอร์

ดีการส่งต่อพอร์ตทำงานได้อย่างมีเสน่ห์ แม้ว่าฉันจะกำหนดค่าใน Virtualbox GUI แทนที่จะใช้ VBoxManage ที่นั่นคุณต้องตั้งค่าโฮสต์และที่อยู่ IP ของผู้เยี่ยมชมด้วยซึ่งควรเป็น 127.0.0.1 และ 10.0.2.15 ตามลำดับ
Sebastian Ganslandt

แก้ไขเล็กน้อยในประโยคแรก คุณควรอ่าน: VirtualBox> การตั้งค่า> เครือข่าย> 'เครือข่ายแบบโฮสต์เท่านั้น'> เพิ่ม (คุณจะได้รับ vboxnet0)
Steve Swinsburg

ฉันได้ทำทั้งหมดนี้สำหรับการตั้งค่าโฮสต์เท่านั้นและเมื่อฉันพยายาม ssh จากโฮสต์ของฉันก็แค่แฮงค์ (จนกว่าจะหมดเวลา) มีอะไรอีกไหม?
Chris Westin

37

ระหว่างเครื่อง Linux สองเครื่อง (โฮสต์ Ubuntu 32 บิตและ Ubuntu Ubuntu 64 บิต) ฉันจัดการเพื่อให้ SSH ทำงานโดยใช้การส่งต่อพอร์ตนี้:

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

จากนั้นระบบโฮสต์ของคุณจะทำงาน

ssh -p 5679 127.0.0.1

ทดแทน5679ด้วย "พอร์ตโฮสต์" ที่ป้อนลงในกฎการส่งต่อพอร์ต


8
ฉันทำสิ่งเดียวกันโดยไม่ป้อน "Host IP" และ "Guest IP" ใด ๆ
Damien Cassou

ในกรณีของฉันภาพอูบุนตูไม่ได้มาพร้อมกับการติดตั้ง ssh (ฉันคาดว่าจะได้) ดังนั้นฉันจึงเรียกใช้ 'apt-get install openssh-server' และสามารถเชื่อมต่อกับ 'ssh -p 5679 localhost' จากความคิดเห็นอื่น ๆ ฉันไม่ได้ใส่โฮสต์หรือ IP ของผู้เยี่ยมชมใด ๆ
Pierre-Antoine

2

หากคุณไม่ต้องการยุ่งกับการส่งต่อพอร์ตคุณสามารถตั้งค่าอะแดปเตอร์สำหรับโฮสต์เท่านั้นซึ่งปรากฏเป็นโฮสต์อินเตอร์เฟสแล้วเพิ่มที่อยู่ IP ในซับเน็ตนั้นในเกสต์

ขั้นตอน:

  • สร้างเครือข่ายเฉพาะโฮสต์ใน Virtualbox (GUI -> settings -> network) พิมพ์ifconfigในการเป็นเจ้าภาพและดูสิ่งที่ต้องการvboxnet0ด้วยinet 192.168.50.1
  • ในแขกให้เพิ่มที่อยู่ IP: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • ในโฮสต์รัน ssh root@192.168.50.101

อ่านเพิ่มเติม:


1

คุณอาจจะดีกว่าการกำหนดค่า NIC เสมือนของคุณในโหมด NAT หากคุณเคลื่อนที่ไปรอบ ๆ เมื่อใช้ NAT โฮสต์ (พีซีของคุณ) จะกลายเป็นเซิร์ฟเวอร์ DHCP และเราเตอร์สำหรับเครือข่ายส่วนตัวที่สร้างขึ้นสำหรับระบบปฏิบัติการเกสต์ของคุณ ฉันค่อนข้างแน่ใจว่าคุณสามารถตั้งค่าที่อยู่แบบคงที่โดยใช้ NAT ได้เช่นกัน ...

อย่างไรก็ตามฉันคิดว่าทางออกที่ดีที่สุดคือการระบุว่าทำไมการแก้ไขชื่อไม่ทำงานกับ VM แขกของคุณ :)

https://www.virtualbox.org/manual/ch06.html#network_nat


2
ฉันตั้งค่าโหมด NAT และแขกของฉันได้รับมอบหมาย ip 10.0.2.15 อย่างไรก็ตามจากโฮสต์ (ซึ่งมี IP 192.168.1.120) ฉันไม่สามารถติดต่อแขกได้ คำแนะนำสามารถอธิบายโหมดที่แตกต่างสำหรับฉัน แต่ดูเหมือนจะไม่มีวิธีแก้ไขปัญหาของฉัน
โทมัสฮันเตอร์

0

มีประโยชน์มากทำให้ฉันไปในทิศทางที่ถูกต้อง ขอบคุณ

ฉันต้องไปที่> VirtualBox> ไฟล์> ตัวจัดการเครือข่ายโฮสต์> vboxnet0> กำหนดค่าอะแดปเตอร์ด้วยตนเอง> ที่อยู่ IPv4 และตั้งเป็น ifconfig ของแขก ด้วยเหตุผลบางอย่างโฮสต์และแขกก็มอบ IP ที่แตกต่างให้ฉัน

มีการกล่าวถึง แต่ต้องชัดเจนฉันต้องตั้งค่าพอร์ตฟอร์เวิร์ดพอร์ตสำหรับ 127.0.0.1 เป็น 5679 และไม่ใช่พอร์ต ssh 22 ที่เป็นค่าเริ่มต้นเนื่องจากมีการใช้งานโดยการสื่อสาร ssh ของโฮสต์แล้ว

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