Назад | Перейти на главную страницу

Перенаправление портов через NAT VBox для SSHing от хоста к гостю VirtualBox не работает

Несмотря на огромный объем работы, которую VirtualBox проделал, чтобы упростить этот процесс, я просто не могу заставить его работать должным образом.

Цель: иметь возможность запускать виртуальную машину VirtualBox без головы, к которой я могу подключиться по SSH с главного компьютера.

Текущее сообщение об ошибке при попытке SSH с хоста на гостя:

$ ssh -p 2222 user@localhost
ssh_exchange_identification: Connection closed by remote host

SSH отлично работает на гостевой виртуальной машине, и я, гость, могу без проблем использовать SSH для себя. Я почти уверен, что проблема заключается в перенаправлении соединения от хоста к гостю, потому что мои попытки SSH к гостю даже не отображаются в файлах журнала SSH гостя. Таким образом, соединения никогда не должны доходить до машины.

Текущая конфигурация VirtualBox:

Я использовал два основных метода переадресации портов через NAT VB, как описано в руководстве по VBox и на различных форумах. Я использовал 'старый' способ:

$ VBoxManage setextradata "VM Name Here" \
      "VBoxInternal/Devices/e1000/0/LUN#0/Config/guestssh/Protocol" TCP

$ VBoxManage setextradata "VM Name Here" \
      "VBoxInternal/Devices/e1000/0/LUN#0/Config/guestssh/GuestPort" 22

$ VBoxManage setextradata "VM Name Here” \
      "VBoxInternal/Devices/e1000/0/LUN#0/Config/guestssh/HostPort" 2222

Как и «новый» способ, от Руководство VBox:

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

Я знаю, что первый набор команд вступил в силу, потому что я вижу их в XML-файле конфигурации * .vbox для виртуальной машины, и я знаю, что вторая команда сработала, потому что когда я смотрю на:

VBox --> (Select VM) --> Settings --> Networking --> Advanced --> Port Forwarding

Я вижу созданное мной определение переадресации порта «guestssh» в диалоговом окне.

Кроме того, я добавил строку:

sshd:ALL

к гостевому файлу /etc/hosts.allow, и ни на хосте, ни на гостевой системе не работают брандмауэры.

Хост - Ubuntu 11.04. Гость - Fedora 16. VirtualBox - это версия 4.1.0 r73009.

У кого-нибудь есть идеи?

[Решено]

Ладно, ну, очевидно, проблема была в гостевой виртуальной машине, что касается брандмауэра:

1) iptables -L showed that everything was set to 'ALLOW'
2) Looking at the Firewall GUI, SSH was allowed through
3) I had disabled the Firewall from the GUI

Ни один из них не решил проблему.

$ sudo systemctl stop iptables.service

Тоже не решила. НО:

$ sudo systemctl disable iptables.service

Сделал, наконец, исправил. Это кажется невероятно жестким, но все остальное не помогло. Я не уверен, была ли это ошибка или что-то в этом роде, но теперь она работает.