Поскольку вы ничего не говорите, я собираюсь предположить, что у вас есть относительно стандартная установка Ubuntu на этой виртуальной машине.
Это немного запутывает воду, когда вы говорите, что используете «публичный» IP-адрес виртуальной машины, потому что это может означать несколько разных вещей.
Однако стоит отметить одну вещь: ваша первоначальная ошибка («Ошибка сети: соединение отклонено» при попытке подключения к порту 22) говорит вам, что вы смогли подключиться к системе, работающей внутри виртуальной машины, и эта система сказала, что ничего не слушает на конкретном IP-адресе и комбинации портов, на которой вы его достигли.
Я уверен, что установки Ubuntu на рабочих станциях не поставляют работающий SSH-сервер по умолчанию. Варианты сервера, однако, вполне могут сделать это.
Используйте консоль VM для входа в систему и проверьте, работает ли сервер SSH. В данный момент у меня нет удобной системы Ubuntu, но в терминале это должно быть похоже на
$ service sshd status
Это может называться что - то вроде ssh
, ssh-server
, openssh-server
или что - то вдоль этих линий, а не sshd
, но автодополнению на ssh
(типе ssh
tab) должно заставить вас закрыть. Вам может понадобиться sudo
это, например sudo service sshd status
, но я думаю, что обычный доступ пользователя должен быть достаточным для получения отчета о состоянии службы (работает / остановлен).
Если SSH-сервер не запущен или даже не установлен, это объясняет, почему вы получили ошибку «Отказано в соединении». Установите SSH-сервер, используя что-то вроде:
$ sudo apt-get -u install openssh-server
Убедитесь, что список устанавливаемых пакетов выглядит нормально, и подтвердите. Сервер SSH будет запущен в конце процесса установки.
Теперь посмотрите на / etc / ssh / sshd_config. Он будет иметь ноль или более Port
и ListenAddress
директивы, дающие IP-адреса или номера портов (по умолчанию номер порта равен 22, если он не указан, и сервер будет прослушивать все IP-адреса, если вы явно не укажете это иначе). Это IP-адрес и порт, к которому нужно подключиться.
Если IP-адрес (а) не указан, ip addr show
вам будут показаны сетевые интерфейсы внутри ВМ и их соответствующие IP-адреса. Это те, которые сервер SSH будет прослушивать.
Вооружившись этой информацией, выполните все магические заклинания, необходимые для подключения PuTTY к этой комбинации IP-адреса и порта. (Это может включать, например, пробивание дыры или настройку переадресации портов в NAT или брандмауэре.)
Как только это будет сделано, вы сможете подключиться с помощью PuTTY и получить сеанс терминала в качестве непривилегированного пользователя на виртуальной машине Ubuntu. Оттуда, используйте sudo
для повышения ваших привилегий по мере необходимости, так же, как если бы вы сидели перед физической системой.
Я рекомендую настроить проверку подлинности открытого ключа, и я очень рекомендую против позволяя корень напрямую войти в систему . Однако, если вам абсолютно необходимо разрешить root для прямого входа в систему, отредактируйте / etc / ssh / sshd_config и укажите PermitRootLogin yes
, затем sudo passwd root
и дайте rootу хороший пароль и перезапустите демон SSH. Опять же, я не рекомендую это.
С этим из пути, что было проблемой с вашим подключением к портам 80 и 443? Порт 80 является портом по умолчанию для HTTP, а порт 443 является портом по умолчанию для HTTPS. Если веб-сервер работает, вероятно, он прослушивает оба этих порта, и при подключении он будет ожидать HTTP-запросов; в случае порта 443 после согласования SSL. Конечно, можно вручную выдавать HTTP-запросы, но это не сеанс входа в систему терминала, а оболочка. В общем, подключение к случайным портам (даже известным портам) вряд ли даст вам результат, к которому вы стремитесь.