VirtualBox Host ssh to Guest


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

і перевірити ip

Перевірте ці посилання:

  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, а не у VBoxManage. Там же потрібно встановити IP-адресу вашого хоста та гостя, яка повинна бути відповідно 127.0.0.1 та 10.0.2.15.
Себастьян Гансландт

Незначне редагування до першого речення. Він повинен читати: VirtualBox> Налаштування> Мережа> 'Мережі, що приймаються лише для господарів'> Додати (ви отримаєте vboxnet0)
Стів Свінзбург

Я все це зробив для налаштування лише для хоста, і коли я намагаюся заграти з мого хоста, він просто зависає (поки не вичерпається). Є ще щось?
Кріс Вестін

37

Між двома машинами Linux (32-розрядний хост Ubuntu та 64-розрядний Ubuntu VM) мені вдалося запустити ssh за допомогою цієї переадресації портів:

введіть тут опис зображення

Потім з вашого хост-системи запустіть

ssh -p 5679 127.0.0.1

Заміна 5679за допомогою "Порт хоста", введеного в Правила переадресації портів.


8
Я робив точно так само, тільки не вводячи жодних "хост-IP" та "гостьовий IP".
Демієн Кассо

У моєму випадку, зображення ubuntu не поставлено із встановленим ssh (я б очікував). Тому я запустив "apt-get install openssh-server" і зміг з'єднатися з "ssh -p 5679 localhost". На основі інших коментарів я не розміщував жодного IP-адреса хоста чи гостя.
П'єр-Антуан

2

Якщо ви не хочете заплутатися з переадресацією портів, ви можете встановити адаптер, призначений лише для хоста, який відображається як хост-інтерфейс, а потім додати IP-адресу всередині цієї підмережі в гості.

Кроки:

  • Створіть у Virtualbox мережу лише для хостів (GUI -> налаштування -> мережа). Введіть 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-зв’язком хоста.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.