У меня установлена Ubuntu VM на моей машине с Windows 7. Как мне настроить его так, чтобы я мог обращаться к веб-серверу извне через SSH?
Я обнаружил шаги ( настройка доступа по SSH между хостом VirtualBox и гостевыми виртуальными машинами ), чтобы иметь возможность подключиться к ssh моему гостю с моего хоста, но это все еще оставляет мне проблему с доступом к нему через мой маршрутизатор.
Я полагаю, что я мог бы установить SSH-сервер на моем компьютере с Windows и затем туннелировать несколько раз (хотя я не уверен на 100%, что использовать с точки зрения локального, динамического и т. Д. Или как настроить несколько туннелей?), но есть ли способ сделать виртуальную машину напрямую доступной для моего маршрутизатора, чтобы я мог напрямую перенести ее на нее?
источник
Ответы:
Лучший способ войти на гостевую виртуальную машину Linux VirtualBox - это переадресация портов . По умолчанию у вас уже должен быть один интерфейс, использующий NAT . Затем перейдите в настройки сети и нажмите кнопку переадресации портов . Добавить новое правило . В качестве имени правила введите «ssh». В качестве «Host port» вставьте 3022. В качестве «Guest port» вставьте 22. Все остальное из правила можно оставить пустым.
или из командной строки
где «myserver» - это имя созданной виртуальной машины. Проверьте добавленные правила:
Это все! Пожалуйста, убедитесь, что вы не забыли установить SSH- сервер в виртуальной машине:
Чтобы войти в гостевую виртуальную машину SSH, напишите:
Где
user
ваше имя пользователя в виртуальной машине.источник
ssh -p 3022 user@127.0.0.1
Это был один шаг, который я пропустил и просто пошел, чтобы найти на другом сайте.Host mybox HostName 127.0.0.1 User myuser Port 3022
этот файл следующее (добавьте отступ самостоятельно), тогда вам нужно толькоssh mybox
каждый раз :)Измените тип адаптера в VirtualBox на bridged и настройте гостя на использование DHCP или установите статический IP-адрес за пределами DHCP. Это приведет к тому, что виртуальная машина будет действовать как обычный гость в вашей домашней сети. Затем вы можете перенести порт вперед.
источник
Сохранение адаптера NAT и добавление второго адаптера только для хоста работает потрясающе и крайне важно для ноутбуков (где внешняя сеть всегда меняется).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
Не забудьте создать сеть только для хоста в самой virtualbox (GUI -> настройки -> сеть), иначе вы не сможете создать интерфейс только для хоста на гостевой.
источник
/etc/network/interfaces
, спасибо!ssh
,sftp
и т.д.) , так как вам придется пройти через нестандартный порт.Вы также можете использовать мостовую сеть (или «Мостовой адаптер», в более новых версиях) в настройках сети . Это поместит вашу виртуальную машину в VLAN с вашей машиной. Таким образом, вы можете просто ssh в виртуальную машину, как это.
источник
Как сделать хост-сеть ( лучше, чем мостовую) для Solaris 10 и Ubuntu 16.04
Добавить интерфейс только для хоста
Запустите cmd.exe и запустите
ipconfig /all
. Вы должны увидеть строки:Второй адаптер в гостевой также должен быть в 192.168.59. *.
Запустите ВМ.
Солярис 10
ifconfig -a
. Вы должны увидеть e1000g0 и e1000g1. Мы заинтересованы в e1000g1.ifconfig e1000g down
ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
ping 192.168.56.10
Сохранить эти настройки при перезагрузке
Настроить службу ssh ( администрирование ) для входа в систему как root (не рекомендуется)
Проверьте, включен ли ssh
Измените / etc / ssh / sshd_config так, чтобы
Перезапустите службу SSH
С хоста проверь это
Ubuntu 16.04
Список интерфейсов:
Вы должны увидеть три интерфейса, такие как lo, enp0s3, enp0s8. Мы будем использовать третий.
Отредактируйте / etc / network / interfaces
Потом
sudo ifup enp0s8
. Убедитесь, что enp0s8 получил правильный адрес. Вы должны увидеть свой ip:Если нет, вы можете запустить
sudo ifdown enp0s8 && sudo ifup enp0s8
/superuser/424083/virtualbox-host-ssh-to-guest/424115#424115
источник
192.168.59.1
и вы указываете192.168.56.10
статический гостевой IP-адрес. Весь адрес подсети класса C должен точно совпадать, поэтому вам придется использовать что-то вроде192.168.59.10
гостя.Чтобы подключиться к виртуальной машине Ubuntu, работающей в VirtualBox с вашего хоста, по ssh, вам нужно настроить два сетевых адаптера для виртуальной машины.
Прежде всего, остановите ВМ, если еще нет.
Затем выберите виртуальную машину и откройте меню «Настройки» на панели инструментов VirtualBox:
Настройте адаптер 1
Настройте адаптер 2
(Примечание: вам не нужно настраивать переадресацию портов.)
Вот и все. После настройки вы можете запустить свою виртуальную машину. В вашей виртуальной машине конфигурация сети будет выглядеть ниже, и у вас также будет доступ к Интернету:
Также на вашем хост-компьютере вы можете использовать ssh для вашей виртуальной машины:
Убедитесь, что сервер SSH установлен и запущен на виртуальной машине.
Если нет, установите его:
Также для вашей информации:
источник
File > Host Network Manager > Create
Ответы, предоставленные другими пользователями здесь:
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-адрес хоста, гостевой IP-адрес и т. Д.). Выбранные имена являются лишь примерами - используйте или измените.
1. Создайте туннель ssh к порту 3022 на внешнем IP-адресе модема / маршрутизаторе.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
2.Port forward = мы передаем соединение от маршрутизатора к хост-машине
Также убедитесь, что правила брандмауэра / IPtable на маршрутизаторе позволяют перенаправлять порты (открывать при необходимости)
Экран Pfwd Pfwd маршрутизатора требует ввода: AppName: SSH_Fwd, Port_from: 3022, Protocol: обоих (UDP / TCP), IP_address: hostIP_address, Port_to: 3022, все остальное может быть пустым
Ресурсы программного обеспечения маршрутизатора DD-WRT / Информация:
DD-WRT Port_Forwarding
DD-WRT Static_DHCP
3. Брандмауэр компьютера: открытый порт 3022 # поэтому переадресованный порт может проходить через гостевую машину
Хост-машина: установите VirtualBox, гостевые дополнения и гостевой компьютер, если это еще не сделано
Настройте гостевой компьютер, а затем следуйте разделу «Сеть» ниже.
Я использовал VirtualBox GUI для настройки гостевой сети - проще, чем CLI
Если вы хотите использовать другие методы, обратитесь к:
VirtualBox/manual/ch06.html#natforward
4. Некоторые предлагают использовать сетевой мост для гостевого = доступа к локальной сети и другим компьютерам в вашей локальной сети. Это также создает повышенную угрозу безопасности, потому что теперь ваша гостевая машина теперь подвергается воздействию компьютеров локальной сети и, возможно, хакеров ИНТЕРНЕТ, если брандмауэр не настроен должным образом. Поэтому я выбрал Сетевой адаптер, подключенный к NAT, для уменьшения подверженности мостовым рискам безопасности.
На гостевой машине сделайте следующее:
Также есть разные ssh-серверы и клиенты в зависимости от используемой платформы.
wikipedia/Secure_Shell
wikipedia/Comparison_of_SSH_servers
wikipedia/Comparison_of_SSH_clients
Для пользователей Ubuntu:
ubuntu community: SSHOpenSSH/Configuring
ubuntu/community: OpenSSH/Keys
Это должно быть так. Если я ошибся или захочу что-то добавить - не стесняйтесь - я все еще новичок.
Надеюсь, это кому-нибудь поможет. Удачи!
источник
Для хоста Windows вы можете:
источник
Вы также можете инициировать переадресацию порта на своего ХОСТА ИЛИ ЛЮБОГО ДРУГОГО СЕРВЕРА от вашего Гостя. Это особенно полезно, если ваш Гость «заблокирован» или не может завершить опцию ModifyVM (например, нет разрешения на VBoxManage).
Три незначительных требования: 1) вы / можете войти в VirtualBox Guest (через графический интерфейс консоли, другого гостя и т. Д.), 2) у вас есть учетная запись на VirtualBox HOST (или другом сервере) и 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 выберите виртуальную машину, нажмите значок настроек. Затем перейдите в Сеть и включите два адаптера, как показано ниже:
Запустите Ubuntu VM.
Отредактируйте файл '/ etc / network / interfaces', как показано ниже, и сохраните его:
Перезагрузите ВМ.
Войдите в виртуальную машину и выполните команду ниже, чтобы проверить IP, выделенный для eth1:
Используйте этот IP для открытия сессии замазки для ВМ.
источник
Хорошее объяснение того, как настроить переадресацию портов с помощью NAT, можно найти в документах VirtualBox: http://www.virtualbox.org/manual/ch06.html#natforward
источник
Ubuntu 18.04 LTS
Конфигурация с мостом, чтобы увидеть сервер IP и подключиться без "переадресации портов"
VirtualBox> щелкните правой кнопкой мыши на сервере> настройки> Сеть> включить адаптер 2> выберите «мостовой»> Случайный режим: разрешить все> Проверить подключенный кабель> запустить сервер
На сервере Ubuntu отредактируйте
sudo nano /etc/netplan/*init.yaml
файл,Мой образец файла:
Команды, которые помогут вам
Настройка статических IP-адресов на сервере Ubuntu 18.04 LTS - с NetPlan
источник
Простая установка Сетевых настроек для мостов сделала свое дело для меня.
Ваш IP изменится, когда вы сделаете это. Однако в моем случае это не изменилось сразу.
ifconfig
вернул тот же ip. Я перезагрузил vm и boom, ip установил себе один запуск с 192. * и мне сразу был разрешен ssh доступ.источник
В защищенных сетях настройка вашей сети на мост может не работать. Администраторы могут разрешить только один mac-адрес на порт или, что еще хуже, заблокировать порт, если коммутаторы обнаружат несколько маков на одном порту.
На мой взгляд, лучшим решением является настройка дополнительных сетевых интерфейсов для обработки дополнительных сервисов, которые вы хотели бы запустить на своих машинах. Таким образом, у меня есть мостовой интерфейс, позволяющий выполнять мостовое соединение, когда я беру свой ноутбук домой, и могу подключаться к нему через SSH с других устройств в моей сети, а также адаптер только для хоста, когда я хочу подключиться к моей виртуальной машине с моего ноутбука при подключении к сети Wi-Fi eduroam в университетском городке.
источник
Используйте сетевой адаптер NAT и добавьте порт вперед. Упомяните фактический хост ip. Не используйте 127.0.0.1 или localhost.
источник