Я создал виртуальную машину сервера Ubuntu, установил OpenSSH и теперь пытаюсь подключиться к ней с помощью Putty. В Putty, в разделе "Имя хоста", я указал "Ubuntu", поскольку именно так, как я думал, он назывался, когда я устанавливал виртуальную машину. Однако я просто получаю ошибку: "Connection Timed Out".
Я также попробовал ввести "127.0.0.1" в имя хоста в Putty и просто получил "Connection Refused". Обратите внимание, что я сделал проброс портов для SSH и HTTP в Oracle VM, так что я в растерянности, как заставить его работать.
VirtualBox создаст частную сеть (10.0.2.x), которая будет подключена к сети вашего хоста с помощью NAT. (Если не настроено иначе).
Это означает, что вы не сможете напрямую получить доступ к любому узлу частной сети из сети хоста. Чтобы сделать это, вам понадобится проброс портов. В сетевых настройках вашей виртуальной машины вы можете, например, настроить VirtualBox на открытие порта 22 на 127.0.1.1 (адрес loopback вашего хоста) и перенаправление любого трафика на порт 22 на 10.0.2.1 (внутренний адрес вашей виртуальной машины).
Таким образом, вы можете указать putty на порт 22 на 127.0.1.1, и VirtualBox перенаправит это соединение на вашу ВМ, где демон ssh ответит на него, позволяя вам войти в систему.
Я хотел использовать putty для подключения к моему ubuntu на виртуальном боксе (по причинам комфорта, VB просто странный. Я не могу работать, если только не на нормальном терминале). В общем,
sudo apt install ssh
.Настройки
->``Сеть``
->на
Адаптер 1выберите
Адаптер только для хоста`->нажмите
OK``.ifconfig
; теперь инет-адрес - это ваш IP.Единственным недостатком использования адаптера только для хоста является то, что ваша гостевая ОС не будет иметь доступа к более широкой сети (например, к Интернету).
Если вам нужно, чтобы ваша виртуальная машина имела доступ в интернет, оставьте адаптер 1 как NAT и включите адаптер 2, настроенный как Host-Only adapter. Это позволит вашей ВМ подключаться к интернету с помощью NAT, а также выполнять локальное подключение к хосту с помощью Host-Only.
Сначала вам нужно решить, подключена ли ваша ВМ к хост-машине через мостовое соединение или через NAT, но в любом случае вам нужно ввести IP-адрес ВМ в putty, чтобы иметь возможность подключиться к ip, в терминале ВМ выполните эту команду, чтобы показать вам IP-адрес машины (и нет, 127.0.0.1 не является IP-адресом машины)
VM # ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:d9:16:b3 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.1 scope global eth0
valid_lft forever preferred_lft forever
в этом случае мой IP-адрес будет 10.0.2.15,
Сначала попробуйте убедиться, что вы можете общаться на базовом уровне с VM, откройте окно терминала на вашем хосте и попробуйте пинговать VM
HOST # ping 10.0.2.15
PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.099 ms
Если вы получите результат ant, то убедитесь, что на ВМ запущена служба ssh, в терминале на ВМ введите имя root,
VM # netstat -lnpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2361/sshd
Это говорит о том, что у нас есть служба/процесс с PID(2361) под названием sshd (OpenSSH daemon), слушающий порт 22.
Вы можете проверить, правильно ли работает служба, попробовав подключиться к ней по sshd с виртуальной машины,
VM # ssh 127.0.0.1
Далее вам нужно убедиться, что вы не блокируете порт 22 в вашем брандмауэре/iptables, я не могу в это поверить, но все равно проверьте. В виртуальной машине введите эту команду, чтобы показать iptables,
VM # iptables -nvL INPUT
в выводе у вас должна быть строка, подобная этой:
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW
Мое решение было похоже на роман Т'ы однако мне нужно добавить несколько дополнительных шагов. В моем случае у меня Убунту сервер VM 14, работающей на рабочий стол Windows 8 в домене Windows 2008. Если бы я попробовал NAT или Мост я мог получить доступ к Интернету, но не мог'т подключиться через SSH.
Если бы я попытался только хост адаптер, который позволит мне подключиться по SSH к машине, но не мог'т получить доступ к интернету.
Я пробовал перенаправление портов, а также и без радости. Открыл Wireshark и это было'ВМ Т найти.
Так что мое решение было добавить второй сетевой адаптер. Метод # #
С ВМ выключен
Запуск виртуальной машины
команду ifconfig -а
судо VI /и т. д./сети/интерфейсов
авто на eth1 слово iface eth1 и инет по DHCP 5. сохраните и закройте файл. 6. Затем попробуйте перезапустить сетевую службу, используя следующую команду
обслуживание судо сетевых перезагрузка 7. Или если это не удается, перезагрузите виртуальную машину. 8. После перезагрузки введите ниже, чтобы увидеть, если вы eth1, который был выделен IP-адрес
команду ifconfig -а 9. если так то посмотреть, если вы можете войти по SSH на виртуальную машину
Следующие инструкции работал с Ubuntu 14.04 и Oracle в VirtualBox 4.3.30.
Сделать это в VirtualBox:
Щелкните правой кнопкой мыши виртуальную машину, выбрать и quot Настройки и"и выберите" в сети " - а;.
Далее, чтобы "прикреплен" и выберите "и хост-адаптер только на". Как Примечание стороны, "по мостовой адаптер" и будет также работать, проверьте пакет документации для более подробной информации о каждом параметре.
Сделать это в вашей виртуальной машине:
Найти ваш IP-адрес сети, открыв терминал и набрав команду ifconfig`. Наблюдать IP-адрес, отображаемый рядом с eth0 в соответствии с "инет адрес и". Вы также можете посмотреть ваш IP адрес, если вы нажмете на значок сети в верхнем правом углу рабочего стола, а затем выберите "по информации, связи и".
Установить OpenSSH-сервер, введя следующую команду в терминале:
судо apt-получить установку пакета OpenSSH-сервер
Теперь вы можете связаться с замазкой, используя IP-адрес из Шага 1 выше, и порт 22.
Для Ubuntu 18.04 и VirtualBox 5.2:
я. На VirtualBox, нажмите кнопку Файл
/сетевой менеджер
.
второй. Если вы Don'т уже есть сетевой адаптер (vboxnet0 по умолчанию`), нажмите кнопку
Создать`.
я. На VirtualBox, нажмите правой кнопкой на виртуальной машине и выберите "Настройки".
второй. Нажмите кнопку "сеть" и выберите адаптер 2`.
раздел III. Нажмите Включение Сетевого Адаптера.
ИЖ. Под прикрепленного к: "выбрать" хозяина-всего адаптера. Имя адаптера, который вы создали в шаге 1 должен появиться (по умолчанию vboxnet0
).
я. Запуск виртуальной машины и проверяем, какой интерфейс было добавлено: ИС
. Посмотри на интерфейс, который не'т иметь адрес инет
. По моему, это было enp0s8
.
второй. Редактировать файл/etc/сайту netplan/01-в netcfg.и YAML. например, судо VI /и т. д./сайту netplan/01-в netcfg.и YAML
.
раздел III. В настройках для оригинальный адаптер, добавить детали конфигурации:
enp0s8: адрес: [192.168.56.2/24] gateway4: 192.168.56.1 dhcp4: нет
Это присваивает статический IP-адрес вашей виртуальной машины для удобства СШ. Если ты хочешь, чтобы сервер DHCPвместо ручки в решении, оставить адрес и шлюз config и установить
dhcp4на
да`.
ИЖ. Перезагрузить файл конфигурации: судо сайту netplan применить
.
я. Если у вас не установлен СШ
ВМ: судо АПТ установить SSH
.
второй. От хозяина машины, по SSH к виртуальной машине: СШ <имя пользователя>@192.168.56.2
.