Не удается подключиться через SSH к Ubuntu 16.04 LTS [duplicate]

У меня нет большого опыта работы в сети или Linux, но я пытаюсь ssh в виртуальную машину Ubuntu из-за пределов моей домашней сети. Виртуальная машина Ubuntu (VirtualBox) работает на рабочем столе Debian. Я провел некоторое исследование и обнаружил, что мне нужно перенаправить порт 22 с маршрутизатора на виртуальную машину.

Я изменил настройку сети на виртуальной машине для моста. Я переправляю порт на виртуальную машину. Я проверил (http://www.yougetsignal.com/), чтобы показать порт открытым.

Но когда я пытаюсь подключиться, он все еще не работает. ssh username @ - connection reject

Есть ли что-нибудь, что я должен делать внутри виртуальной машины, чтобы разрешать входящие соединения? Или переместить любой порт?

Есть ли что-то, что я делаю неправильно, любая помощь будет очень признательна !!

10
задан 5 August 2017 в 23:22

4 ответа

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

VirtualBox заставляет виртуальную машину думать, что она подключена к сети, но на самом деле VirtualBox предоставляет сетевые службы, включая мини-DHCP-сервер. Затем VirtualBox делает доступ к сети «от имени» виртуальной машины, делая ее отображаемой как просто другое приложение, работающее на вашем ПК.

Однако это означает, что внешний мир действительно не знает о виртуальной машине и может

Я думаю, что перенаправление портов, которое вы делали, было от вашего домашнего маршрутизатора до вашего ПК, а не от виртуальной машины. Возможно, на стороне VirtualBox отсутствует какая-либо конфигурация. Извините, если вы уже это сделали, но ваш вопрос был не совсем понятен.

В основном вам нужно изменить конфигурацию сети виртуальной машины и установить ее в «Мостовое». Что это делает, он создает виртуальный интерфейс на вашем ПК и делает использование виртуальной машины для доступа к внешнему миру; что-либо, входящее или выходящее на этот интерфейс, попадает в виртуальную машину. Таким образом, виртуальная машина будет видна как другая машина в любой сети, к которой подключен ваш компьютер (у нее даже есть свой MAC-адрес!).

Затем, в зависимости от конфигурации вашей сети, виртуальная машина может получить Адрес DHCP, как и любой другой ПК, подключенный к вашему маршрутизатору, или вам может понадобиться настроить для него статический IP-адрес. Это зависит от того, как настроена ваша сеть.

После того, как виртуальная машина имеет «реальный» адрес, вы можете на своем маршрутизаторе следовать инструкциям, которые вы указали для маршрутизации порта 22 на IP-адрес виртуальной машины. Это должно работать так, как вы ожидаете.

Если это не так:

Посмотрите конфигурацию брандмауэра вашей виртуальной машины (iptables -L -n). Это что-то блокирует? Настройте другой компьютер в локальной сети и попробуйте SSH на IP-адрес виртуальной машины. Если это возможно, вам нужно дважды проверить конфигурацию пересылки в своем маршрутизаторе. Если вы не можете, вам нужно перепроверить конфигурацию SSH и брандмауэра VM.
13
ответ дан 18 July 2018 в 09:08

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

VirtualBox заставляет виртуальную машину думать, что она подключена к сети, но на самом деле VirtualBox предоставляет сетевые службы, включая мини-DHCP-сервер. Затем VirtualBox делает доступ к сети «от имени» виртуальной машины, делая ее отображаемой как просто другое приложение, работающее на вашем ПК.

Однако это означает, что внешний мир действительно не знает о виртуальной машине и может

Я думаю, что перенаправление портов, которое вы делали, было от вашего домашнего маршрутизатора до вашего ПК, а не от виртуальной машины. Возможно, на стороне VirtualBox отсутствует какая-либо конфигурация. Извините, если вы уже это сделали, но ваш вопрос был не совсем понятен.

В основном вам нужно изменить конфигурацию сети виртуальной машины и установить ее в «Мостовое». Что это делает, он создает виртуальный интерфейс на вашем ПК и делает использование виртуальной машины для доступа к внешнему миру; что-либо, входящее или выходящее на этот интерфейс, попадает в виртуальную машину. Таким образом, виртуальная машина будет видна как другая машина в любой сети, к которой подключен ваш компьютер (у нее даже есть свой MAC-адрес!).

Затем, в зависимости от конфигурации вашей сети, виртуальная машина может получить Адрес DHCP, как и любой другой ПК, подключенный к вашему маршрутизатору, или вам может понадобиться настроить для него статический IP-адрес. Это зависит от того, как настроена ваша сеть.

После того, как виртуальная машина имеет «реальный» адрес, вы можете на своем маршрутизаторе следовать инструкциям, которые вы указали для маршрутизации порта 22 на IP-адрес виртуальной машины. Это должно работать так, как вы ожидаете.

Если это не так:

Посмотрите конфигурацию брандмауэра вашей виртуальной машины (iptables -L -n). Это что-то блокирует? Настройте другой компьютер в локальной сети и попробуйте SSH на IP-адрес виртуальной машины. Если это возможно, вам нужно дважды проверить конфигурацию пересылки в своем маршрутизаторе. Если вы не можете, вам нужно перепроверить конфигурацию SSH и брандмауэра VM.
13
ответ дан 24 July 2018 в 19:15

из того, что я могу собрать, ваша проблема кроется в вашей компьютерной сети сервера, потому что, как только вы настроите vm-сеть на режим моста, вам хорошо пойти (отметьте ssh <your.vm.ip.number> в командной строке сервера - а не в vm).

ваш сервер находится за маршрутизатором, точно так же, как vm с использованием NAT на вашем компьютере.

Вам нужно связаться с администратором сети вашего сервера, чтобы он мог отправить локальный IP-адрес vm в порт / диапазон портов (убедитесь, что ваш vm имеет статический IP-адрес).

Вы можете сделать это сами, если бы у вас были полномочия на вашем сервере.

немного визуализации:

Internet '---ROUTER (SERVER1 and SERVER2 use NAT on this router) | (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router) | '--- SERVER1 (vm1, vm2, vm3 use Bridge) | '---vm1 | '---vm2 | '---vm3 '--- SERVER1 (vm4, vm5 use Bridge) | '---vm4 | '---vm5
1
ответ дан 18 July 2018 в 09:08

из того, что я могу собрать, ваша проблема кроется в вашей компьютерной сети сервера, потому что, как только вы настроите vm-сеть на режим моста, вам хорошо пойти (отметьте ssh <your.vm.ip.number> в командной строке сервера - а не в vm).

ваш сервер находится за маршрутизатором, точно так же, как vm с использованием NAT на вашем компьютере.

Вам нужно связаться с администратором сети вашего сервера, чтобы он мог отправить локальный IP-адрес vm в порт / диапазон портов (убедитесь, что ваш vm имеет статический IP-адрес).

Вы можете сделать это сами, если бы у вас были полномочия на вашем сервере.

немного визуализации:

Internet '---ROUTER (SERVER1 and SERVER2 use NAT on this router) | (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router) | '--- SERVER1 (vm1, vm2, vm3 use Bridge) | '---vm1 | '---vm2 | '---vm3 '--- SERVER1 (vm4, vm5 use Bridge) | '---vm4 | '---vm5
1
ответ дан 24 July 2018 в 19:15

Другие вопросы по тегам:

Похожие вопросы: