Как подключиться по SSH к виртуальной машине VirtualBox оценки извне через хост?
У меня есть Ubuntu VM работает на моей машине Windows 7. Как настроить его так, чтобы я мог получить доступ к веб-серверу извне через SSH?
Я нашел шаги (настройка SSH доступа между хостом VirtualBox и гостевыми виртуальными машинами), чтобы иметь возможность ssh для моего гостя с моего хоста, но это все еще оставляет меня с проблемой доступа к нему через мой маршрутизатор.
Я полагаю, что я мог бы установить SSH-сервер на моей машине Windows, а затем туннелировать несколько раз (хотя я не уверен на 100% , что использовать с точки зрения локального, динамического и т. д. или как настроить несколько туннелей?), но есть ли способ сделать виртуальную машину непосредственно доступной для моего маршрутизатора, чтобы я мог напрямую подключиться к ней?
14 ответов:
лучший способ войти в гостевую виртуальную машину Linux VirtualBox-это переадресация портов. По умолчанию, у вас уже должен быть один интерфейс, который использует нац. Тогда идите в сеть настройки и нажмите кнопку Переадресация Портов. Добавить новый правила. Как правило, вставка "СШ". Как" порт Хоста", вставьте 3022. В качестве "гостевой порт" вставить 22. Все остальное правило можно оставить пустым.
или от командная строка
VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"где 'myserver' - это имя созданной виртуальной машины. Проверьте добавленные правила:
VBoxManage showvminfo myserver | grep 'Rule'вот и все! Пожалуйста, убедитесь, что вы не забыли установить SSH сервер в виртуальной машине:
sudo apt-get install openssh-serverдля SSH в гостевой виртуальной машине, напишите:
ssh -p 3022 [email protected]здесь
user- это ваше имя пользователя в виртуальной машине.
сохранение адаптера NAT и добавление второго адаптера только для хоста работает потрясающе и имеет решающее значение для ноутбуков (где внешняя сеть всегда меняется).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
Не забудьте создать сеть только для хоста в самом virtualbox (GUI -> Настройки -> Сеть), в противном случае вы не можете создать интерфейс только для хоста на госте.
как сделать сеть только для хоста (лучше чем мост) для Solaris 10 и Ubuntu 16.04
добавить интерфейс только для хоста
- Virtualbox > File > Preferences > Network > Host-only Networks > Add
- выключение виртуальной машины.
- настройки виртуальной машины > сеть. Первый адаптер должен быть Nat,второй хост-только.
запустить cmd.exe и запустите
ipconfig /all. Вы должны увидеть строки:Ethernet adapter VirtualBox Host-Only Network: ... IPv4 Address. . . . . . . . . . . : 192.168.59.1второй адаптер в гостях также должен быть в 192.168.59.*.
запуск виртуальной машины.
Солярис 10
- Регистрация настройки
ifconfig -a. Вы должны увидеть e1000g0 и e1000g1. Мы заинтересованы в e1000g1.ifconfig e1000g downifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up- Проверьте от хоста, если этот интерфейс доступен:
ping 192.168.56.10сохранить эти настройки по перезагрузка
# vi /etc/hostname.e1000g1 192.168.56.10 netmask 255.255.255.0 # rebootнастроить ssh сервис (администрирование) для входа в систему как root (не рекомендуется)
проверьте, включен ли ssh
# svcs -a | grep ssh online 15:29:57 svc:/network/ssh:defaultизменить /etc / ssh / sshd_config так что есть
PermitRootLogin yesперезапустить службу ssh
svcadm restart sshот ведущего его
ssh [email protected]Ubuntu 16.04
интерфейсы:
ip addrвы должны увидеть три интерфейса, как lo, enp0s3, enp0s8. Мы будем использовать третий.
Edit /etc / network / interfaces
auto enp0s8 iface enp0s8 inet static address 192.168.56.10 netmask 255.255.255.0затем
sudo ifup enp0s8. Проверьте, если enp0s8 получил правильный адрес. Вы должны увидеть свой ip:$ ip addr show enp0s8 ... inet 192.168.56.10/24 brd 192.168.56.255 scope global secondary enp0s8если нет, вы можете запустить
sudo ifdown enp0s8 && sudo ifup enp0s8https://superuser.com/questions/424083/virtualbox-host-ssh-to-guest/424115#424115
вы также можете использовать Сетевой Мост (или" переходник моста", в более новых версиях) в настройки сети. Это поместит вашу виртуальную машину в VLAN с вашей машиной. Таким образом, вы можете просто ssh в виртуальную машину, как это.
ssh user@IP_OF_VM
SSH обратно в ваш дом / офис VirtualBox гостевой машины из интернетаответы, предоставленные другими пользователями здесь:
How to SSH to a VirtualBox guest externally through a host?... помог мне выполнить задачу подключения из интернета к гостевой машине моего домашнего компьютера. Вы должны иметь возможность подключаться с помощью компьютеров, планшетов и смартфонов (android, IPhone и т. д.). Я добавляю еще несколько шагов, если это может быть полезно кому-то еще:
вот краткая схема Мои настройки:
Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM
Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)
Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)ключом для меня было понять, что все соединения были
PASSING-THROUGHпромежуточные устройства для перехода с моего удаленного компьютера на мою гостевую виртуальную машину дома-следовательно, переадресация портов!заметки: * Нужен SSH клиент с просьбой безопасное соединение и сервер SSH для безопасного процесса соединение.
я перешлю порт 3022, как используется в выбранном ответе сверху.
введите свой ИПС, где это необходимо (домашний модем/роутер, IP адрес, Ваш IP и т. д.), Выбранные имена являются лишь примерами-использование или изменение.
1.Создайте ssh-туннель для порта 3022 на внешнем IP-адресе вашего модема / маршрутизатора.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP2.Порт вперед = мы проходим через соединение от маршрутизатора до хост-машины
также убедитесь, что правила брандмауэра / IPtable на маршрутизаторе позволяют портам быть вперед (открыть при необходимости)
экран Pfwd маршрутизатора необходимые записи: AppName:SSH_Fwd, Port_from: 3022, протокол: оба (UDP / TCP), IP_address:hostIP_address, Port_to:3022, все остальное может быть пустым
программные ресурсы маршрутизатора DD-WRT / Информация:
3.Брандмауэр хост-машины: откройте порт 3022 #, чтобы перенаправленный порт мог пройти через гостевую машину
хост-машина: установите VirtualBox, гостевые дополнения и гостевую машину, если это еще не сделано
настройка гостевой машины, а затем следуйте инструкциям Раздел сети ниже
я использовал графический интерфейс VirtualBox для настройки гостевой сети-проще, чем CLI
если вы хотите использовать другие методы относятся к :
VirtualBox/manual/ch06.html#natforward4.Некоторые предлагают использовать адаптер сетевого моста для гостевой = доступ к локальной сети и другим машинам в вашей локальной сети. Это также создает повышенную угрозу безопасности, потому что теперь ваша гостевая машина теперь подвергается воздействию компьютеров LAN и, возможно, интернет-хакеров, если брандмауэр не настроен должным образом. Поэтому я выбрал сетевой адаптер, подключенный к NAT, для меньшего воздействия на мостовые риски безопасности.
на гостевой машине выполните следующие действия:
- настройки сети VirtualBox гостевой машины: адаптер 1: подключен к NAT
- правило перенаправления портов VirtualBox гостевой машины: имя: External_SSH, протокол: TCP, порт Хоста: 3022, гостевой порт 22, хост и гостевой IPs: оставьте пустым
- нажмите на заранее в разделе сети, затем нажмите при переадресации портов ввести правила
- Брандмауэр гостевой машины: откройте порт 22 #, чтобы ssh-соединение могло войти
- гостевая машина: убедитесь, что сервер ssh установлен, настроен правильно и работает
- тест LINUX, чтобы увидеть, работает ли ssh-сервер с командой: sudo service ssh status
- можно проверить netstat, чтобы увидеть, если подключение к порту 22 на гостевой машине
также существуют различные ssh-серверы и клиенты в зависимости на платформе, используя.
wikipedia/Secure_Shellwikipedia/Comparison_of_SSH_serverswikipedia/Comparison_of_SSH_clientsДля Пользователей Ubuntu:
ubuntu community: SSHOpenSSH/Configuringubuntu/community: OpenSSH/Keysтак и должно быть. Если я сделал ошибку или хочу что-то добавить-не стесняйтесь делать это-я все еще нуб.
надеюсь, это кому-то поможет. Удачи вам!
для хоста Windows, вы можете :
- в VirtualBox manager:
- выберите ctrl+G в Вашем менеджере virtualbox,
- затем перейдите к сетевой панели
- добавить частную сеть
- убедитесь, что параметр активировать DHCP не выбран
- в сетевом управлении (windows)
- выберите вновь созданный адаптер virtualbox host only и физическая сетевая карта
- щелкните правой кнопкой мыши и выберите "сделать мост"
- наслаждайтесь
вы также можете инициировать переадресацию порта на ваш хост или любой другой сервер с Вашего гостя. Это особенно полезно, если ваш гость "заблокирован" или не может иначе завершить опцию ModifyVM (например, нет разрешения на VBoxManage).
три второстепенных требования: 1) Вы / можете войти в гостевой VirtualBox (через графический интерфейс "консоль", другой гость и т. д.), 2) у вас есть учетная запись на хосте VirtualBox (или другом сервере) и 3) пересылка SSH и TCP не блокируется.
предполагая, что вы можете выполнить 3 требования, эти шаги:
- на гостя, беги
netstat -rnи найти адрес шлюза для назначения маршрута по умолчанию 0.0.0.0. Допустим это "10.0.2.2". Этот адрес "шлюза" является (одним из) виртуальных IP-адресов Хоста VirtualBox.- на гостя, беги
ssh -R 2222:localhost:22 10.0.2.2где "10.0.2.2" - это IP-адрес сервера VirtualBox или любой другой IP-адрес сервера, на который вы хотите перенаправить порт.- на хосте запустите
ssh 10.0.2.2 -p2222где 10.0.2.2-это виртуальный IP-адрес шлюза/VBHost по умолчанию, найденный на шаге 1. Если это не узел VirtualBox, на который вы перенаправляете порт, то командаssh localhost -p2222
выполните следующие действия, чтобы войти в свою виртуальную машину ubuntu, работающую в виртуальном поле с хост-машины, используя putty (без переадресации портов):
в VirtualBox manager выберите виртуальную машину, нажмите на значок настроек. Затем перейдите в Сеть и включите два адаптера, как показано ниже:
- адаптер 1 (для доступа в интернет): прилагается к -> NAT, дополнительно -> Проверьте подключенный кабель.
- адаптер 2: прилагается к - > адаптер только для хоста, расширенный -> Проверьте подключенный кабель и беспорядочный режим -> разрешить все.
запустите виртуальную машину ubuntu.
- войдите в виртуальную машину как root.
отредактируйте файл '/etc / network / interfaces ' как показано ниже и сохраните его:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet dhcpперезагрузите виртуальную машину.
войдите в виртуальную машину и выполните команду ниже, чтобы проверить IP, выделенный eth1:
ifconfigиспользуйте этот IP для открытия сеанс шпатлевки для виртуальной машины.
для ssh к виртуальной машине Ubuntu, работающей в VirtualBox с вашего хост-компьютера, вам нужно настроить два сетевых адаптера для виртуальной машины.
прежде всего, остановите виртуальную машину, если еще нет.
затем выберите виртуальную машину и нажмите Меню Настройки на панели инструментов VirtualBox:
настройка адаптера 1
настройки адаптера 2
(Примечание: вам не нужно настраивать проброс портов.)
вот именно. После настройки можно запустить виртуальную машину. В вашей виртуальной машине конфигурация сети будет выглядеть следующим образом, и у вас также будет доступ в интернет:
также на вашем хост-компьютере вы можете использовать ssh для своей виртуальной машины:
убедитесь, что сервер SSH был установлен и работает в виртуальной машине.
$ ps aux | grep sshd root 864 0.1 0.5 65512 5392 ? Ss 22:10 0:00 /usr/sbin/sshd -DЕсли нет, то установите его:
$ sudo apt-get install openssh-serverтакже для вашего сведения:
- моя версия VirtualBox: 5.2.6 r120293 (Qt5.6.2), 2018
- моя версия Ubuntu: Ubuntu 16.04.3 LTS
- моя хост-машина: Windows 10
хорошее объяснение о том, как настроить переадресацию портов с помощью NAT, находится в документах VirtualBox: http://www.virtualbox.org/manual/ch06.html#natforward
просто установив сетевую настройку на мост сделал трюк для меня.
ваш IP изменится, когда вы сделаете это. Однако в моем случае это не изменилось сразу.
ifconfigвернул тот же ip. Я перезагрузил виртуальную машину и бум, ip установил себя на один старт с 192.* и мне сразу же разрешили доступ по ssh.
в сети настройки сети на мост может не работать. Администраторы могут разрешить только один mac-адрес на порт или, что еще хуже, заблокировать порт, если коммутаторы обнаружат несколько Mac на одном порту.
лучшим решением на мой взгляд является установка дополнительных сетевых интерфейсов для обработки дополнительных услуг, которые вы хотели бы запустить на своих компьютерах. Поэтому у меня есть интерфейс моста, чтобы обеспечить мост, когда я беру свой ноутбук домой и могу SSH в него с других устройств моя сеть, а также хост-адаптер только тогда, когда я хотел бы SSH в мою виртуальную машину с моего ноутбука, когда я подключен к сети eduroam wifi на территории кампуса.
используйте сетевой адаптер NAT и добавьте порт вперед. Учтите, фактический адрес ИС.Не использовать 127.0.0.1 или localhost.





Comments