Я настроил переадресацию портов и разрешил исключение брандмауэра, чтобы я мог ssh с моего хоста Linux Mint в гостевую систему Windows7/Cygwin.

#from linux host
hostuser@host$ ssh -p 2222 guestuser@localhost

Что я должен сделать, чтобы заставить это работать наоборот?

#from cygwin guest (not working yet)
guestuser@guest$ ssh -p 2222 hostuser@localhost

1 ответ1

0

Virtualbox имеет несколько сетевых режимов, которые вы можете выбрать для гостевых виртуальных машин. Вы не указали, какой режим вы выбрали, но если вы выбрали «NAT» (это по умолчанию и самый популярный), вы не сможете выполнить ssh от гостя к хосту. Потому что нет маршрута от гостя к хозяину.

Кроме того, ваша гостевая ОС не знает, что это виртуальная машина. Когда вы guestuser@guest$ ssh -p 2222 hostuser@localhost вы говорите: ssh на localhost, гостевая ОС, порт 2222 и подключитесь к службе sshd, работающей на гостевой ОС.

Если вы хотите, чтобы гостевая ОС могла подключаться к хост-ОС, вам следует изменить сетевой режим VB. Возможно, вам понадобится режим «Мост». Здесь виртуальная машина действует как отдельный (физический) компьютер в вашей домашней сети. Он получит IP-адрес через DHCP. Затем вы можете переходить от одного к другому, предполагая, что между ними нет правил брандмауэра или других «барьеров». В этом режиме переадресация портов отсутствует; по умолчанию все соединения ssh будут через порт 22.

пример

hostuser@host$ ssh guestuser@192.168.0.2

guestuse@guest$ ssh hostuser@192.168.0.1

Предполагая, что IP-адрес хоста = 192.168.0.1 и IP-адрес гостя = 192.168.0.2

Мнение: Если вы не настраиваете конкретную службу для своего гостя, гостевой ОС часто не требуется возможность подключать свой хост в соответствии с тем, о чем вы спрашиваете. Я бы не стал переживать за это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .