Виртуальная машина не работает ssh

SSH доступ к Ubuntu в VirtualBox

В качестве гостевой ОС в VirtualBox запущена Ubuntu. На ней развернут LAMP, где гоняются тесты веб-приложений. Чтобы не возится с общими директориями, но иметь возможность общаться с файловой системой гостевой ОС из домашней, реализуем возможность доступа к гостевой ОС по ssh протоколу. FTP поднимать не будем, так как SFTP, мне кажется, будет более, чем достаточно.

  • VM VirtualBox установлен с настройками по-умолчанию;
  • домашняя ОС Windows 10;
  • Ubuntu Server установленный с ISO.

В Ubuntu устанавливаем SSH сервер. Я никаких настроек не изменял. Начального конфига более, чем достаточно.

Останавливаем виртуальную машину. И переходим к её настройкам – Настройки > Сеть.

Приведите настройки Адаптера 1 к тем, что вы видите на скриншоте. Если в итоге у вас возникнут какие-то проблемы с сетью гостевой ОС, прежде всего, рекомендую попробовать использовать адаптер иного типа. Я ставлю Intel PRO/1000 MT исходя из железа, используемого на моей машине. Но вы можете попробовать «Паравиртуальную сеть (virtio-net)», например.

Переходите на вкладку Адаптер 2, включите его и также приведите состояние настроек в аналогичное тому, что на скриншоте. Комментарии по поводу типа адаптера не отличаются от предыдущего случая.

Запустите виртуальную машину. При запуске можете получить ошибку (многие сталкиваются на Windows 10, например), где сообщается о невозможности открыть сетевое соединение:

Failed to open/create the internal network ‘HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter’ (VERR_INTNET_FLT_IF_NOT_FOUND).
Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND).

Отправляемся в Панель управления\Сеть и Интернет\Сетевые подключения, находим там VirtualBox Host-Only Network соединение и переходим к просмотру его Свойств. В списке используемых компонентов находим VirtualBox NDIS6 Networking Driver и включаем его.

Ошибка не должна больше вас беспокоить. Запускаем виртуальную машину.

Переходим к настройке сетевых интерфейсов в гостевой ОС. Необходимо добиться того, чтобы гостевая ОС имела статический IP адрес, по которому вы и будете к ней подключаться.

С правами root пользователя открываем в режиме редактирования файл /etc/network/interfaces.

Настраиваем интерфейс enp0s8. Содержимое файла необходимо привести к следующему состоянию:

Подключаться к виртуальной машине вы будете по ip 192.168.56.10. Сохраняем измененный файл /etc/network/interfaces, перезагружаем виртуальную машину и пробуем подключиться к ней по SSH.

Комментарии (9)

В Windows 10 добавлена возможность работать с bash Ubuntu из коробки. Я у себя на компе настроил Lamp сервер именно в bash. Не думал на этот счет? Это же удобней чем выделять ресурсы на целую виртуальную машину.

Привычная среда для запуска веб-приложений — Unix. Поэтому, для финального тестирования, виртуальная машина мне нравится больше. Условия идентичны боевым. Для разработки мне удобнее и приятнее Docker.

Там тоже виртуальная машина, просто другая.
да и windows 10 очень любит новое железо, обновляться, и вообще плевать на пользователя.

Источник

Как подключиться к виртуальной машине VirtualBox по SSH

После установки серверного дистрибутива Linux на виртуальную машину VirtualBox вы можете обнаружить, что подключение по SSH не работает. Это связано с тем, что по умолчанию на VirtualBox используется подключение к интернету с помощью NAT.

При таком способе подключения у вас нет возможности подключаться к виртуальной машине из своей реальной операционной системы. В частности, вы не сможете подключиться по SSH. В данной статье мы рассмотрим сразу два способа, как можно решить эту проблему. Первый вариант – проброс портов через NAT, а второй – использование сетевого моста. Оба этих способа сохраняют доступ к интернету на виртуальной машине.

Читайте также:  Починить силовую броню wastelands 3

Проброс портов для SSH

Для проброса портов вам нужно знать IP адрес, который присваивается виртуальной машине. Для этого запустите виртуальную машину и выполните на ней команду « ifconfig ». В ответ вы получите информацию о сетевых подключениях, в которой будет указан и IP адрес. В нашем случае был получен IP адрес – « 10.0.2.15 ».

Обратите внимание, если в вашей системе нет команды « ifconfig », то ее нужно будет установить отдельно. В случае Debian и Ubuntu Linux это можно сделать с помощью команды « apt-get install net-tools ».

После того как мы узнали IP адрес виртуальную машину нужно выключить и открыть ее настройки в программе VirtualBox.

В настройках виртуальной машины нужно открыть раздел « Сеть », открыть дополнительные настройки и перейти к пробросу портов.

После этого откроется окно для проброса портов. Здесь нужно нажать на кнопку « Добавить » и заполнить следующие данные:

  • Имя : SSH.
  • Протокол : TCP.
  • Адрес хоста : оставляем пустым или указываем 127.0.0.1.
  • Порт хоста : любой свободный порт на вашей основной системе, например, 2222.
  • Адрес гостя : IP адрес, который был присвоен вашей виртуальной машине. В нашем случае это 10.0.2.15.
  • Порт гостя : порт SSH на виртуальной машине, по умолчанию – 22.

После проброса порта закрываем все окна с помощью кнопки « ОК ».

После этого можно подключаться к виртуальной машине по SSH. Для этого можно использовать клиент OpenSSH, который доступен в Windows 10. Поскольку порт « 2222 » на основной системе был проброшен на порт « 22 » на виртуальной машине, то для подключения по SSH нам нужно выполнить следующую команду:

ssh user@localhost -p 2222

Где « user » — это имя пользователя, а « 2222 » — используемый порт на основной системе.

Аналогичным способом выполняется подключение с помощью PuTTY . В поле « Host Name » указываем « localhost », а в поле « Port » — « 2222 ». Более подробно об OpenSSH и PyTTY в отдельной статье о подключении по SSH.

Как видно по скриншоту вверху, данный способ отлично работает, и мы успешно подключились по SSH к виртуальной машине VirtualBox.

Подключение через сетевой мост

Также есть альтернативный способ подключения к виртуальной машине по SSH для этого нужно изменить тип подключения с « NAT » на « Сетевой мост ». В этом случае виртуальная машина будет подключена к вашей локальной сети и получит IP адрес от вашего роутера из того же диапазона, что и ваша основная система.

Для этого нужно выключить виртуальную машину и зайти в ее свойства в программе VirtualBox. В настройках нужно зайти в раздел « Сеть » и включить тип подключения « Сетевой мост ».

После этого нужно запустить виртуальную машину и выполнить на ней команду « ifconfig » для того, чтобы узнать, какой IP адрес она получила от роутера. В нашем случае был получен IP адрес « 192.168.1.214 ».

После этого к виртуальной машине можно подключаться по SSH. Для этого нужно просто использовать IP адрес, который был ей присвоен роутером. Например, для того чтобы подключиться с помощью клиента OpenSSH нужно выполнить следующую команду:

Где « user » — это имя пользователя, а « 192.168.1.214 » — это ее IP адрес.

Аналогично работает и подключение с помощью PuTTY. Вводим « 192.168.1.214 » и подключаемся по стандартному порту « 22 ».

Как и предыдущий способ, вариант с использованием сетевого моста отлично работает, при этом виртуальная машина не теряет доступа к интернету.

Доступ к Ubuntu на VirtualBox через PuTTY терминал (способ 1)

Источник

Web-developer’s notes

My experience in programming to not forget and maybe share something useful with others 🙂

Monday, January 17, 2011

Доступ к гостевой машине по SSH в VirtualBox

Итак, задача: нужно получить доступ по SSH к гостевой ОСи в VirtualBox.
Исходные данные: VirtualBox 4, host: Windows 7, guest: Debian 5 Lenny или Debian 6 Squeeze, сеть через роутер, все порты контролируются брандмауэром (KIS).
И мы эти препятствия обойдём легко и быстро 🙂
При установке VirtualBox должна быть включена опция Host-only Networking (по умолчанию включена).

Читайте также:  Whatsapp bissnes не работает

Для начала добавим второй сетевой адаптер:

Потом установим ssh-сервер в гостевой оси.
sudo aptitude install openssh-server

Узнаем имя второго сетевого адаптера:
sudo ifconfig
eth0 — основной, eth1, eth2, eth3, eth4 и дальше — дополнительные.

Подредактируем файл /etc/network/interfaces , добавим статический IP адрес:
sudo nano /etc/network/interfaces
auto eth1
iface eth1 inet static
address 192.168.56.10
netmask 255.255.255.0
eth1 — имя второго сетевого адаптера (оно может быть разным).
Здесь 10 в адресе 192.168.56.10 это не опечатка, последняя цифра адреса может быть от 2 до 255.

Перезагружаем виртуальную машину, пробуем в Putty соединиться:
Хост: 192.168.56.10
Порт: 22

Источник

Подробные действия по устранению неполадок SSH для проблем, подключенных к Linux VM в Azure

Существует множество возможных причин, по которой клиент SSH может не достичь службы SSH в VM. Если вы следовали более общим шагам по устранению неполадок SSH,необходимо дополнительно устранить проблему подключения. В этой статье описаны подробные действия по устранению неполадок, чтобы определить, где не удается подключение SSH и как его устранить.

Предпринять предварительные действия

На следующей схеме показаны вовлеченные компоненты.

Следующие действия помогают изолировать источник сбоя и найти решения или обходные пути.

Проверьте состояние VM на портале. На портале Azureвыберите имя виртуальных > машин.

Области состояния для VM должны показать запуск. Прокрутите вниз, чтобы показать последние действия для вычислительных, хранилища и сетевых ресурсов.

Выберите Параметры для изучения конечных точек, IP-адресов, групп сетевой безопасности и других параметров.

VM должен иметь конечную точку, определяемую для трафика SSH, который можно просмотреть в конечных точках или группе сетевой безопасности. Конечные точки в VMs, созданные с помощью Resource Manager, хранятся в группе сетевой безопасности. Убедитесь, что правила были применены к группе сетевой безопасности и ссылались в подсети.

Чтобы проверить подключение к сети, проверьте настроенные конечные точки и проверьте, можно ли подключиться к VM с помощью другого протокола, например HTTP или другой службы.

После этих действий снова попробуйте подключение SSH.

Поиск источника проблемы

Клиент SSH на компьютере может не подключиться к службе SSH в Azure VM из-за проблем или неправильной оценки в следующих областях:

Источник 1. Клиентский компьютер SSH

Чтобы устранить компьютер в качестве источника сбоя, убедитесь, что он может делать SSH-подключения к другому локальному компьютеру на основе Linux.

Если подключение не удается, проверьте следующие проблемы на компьютере:

  • Локальный параметр брандмауэра, блокирующий входящий или исходящие SSH-трафик (TCP 22)
  • Локально установленное прокси-программное обеспечение клиента, предотвращая подключение к SSH
  • Локально установленное программное обеспечение для мониторинга сети, которое предотвращает подключение к SSH
  • Другие типы программного обеспечения безопасности, которые либо отслеживают трафик, либо позволяют/не позволяют использовать определенные типы трафика.

Если применяется одно из этих условий, временно отключите программное обеспечение и попробуйте подключение SSH к локальному компьютеру, чтобы выяснить причину блокировки подключения на компьютере. Затем работайте с сетевым администратором, чтобы исправить параметры программного обеспечения, чтобы разрешить подключение к SSH.

Если вы используете проверку подлинности сертификатов, убедитесь, что у вас есть эти разрешения в папке SSH в домашнем каталоге:

/.ssh
Chmod 644

/.ssh/ * .pub
Chmod 600

/.ssh/id_rsa (или любые другие файлы, в которых хранятся ваши личные ключи)
Chmod 644

/.ssh/known_hosts (содержит хосты, к которые подключены с помощью SSH)

Источник 2. Устройство edge organization

Чтобы устранить устройство края организации в качестве источника сбоя, убедитесь, что компьютер, подключенный непосредственно к Интернету, может подключаться к вашему лазурном компьютеру. Если вы имеете доступ к VM с помощью VPN-узла или подключения Azure ExpressRoute, переехав в source 4: Network security groups.

Если у вас нет компьютера, непосредственно подключенного к Интернету, создайте новый azure VM в своей группе ресурсов или облачной службе и используйте этот новый VM. Дополнительные сведения см. в выпуске Create a virtual machine running Linux in Azure. Удалите группу ресурсов или VM и облачную службу, когда вы закончили тестирование.

Читайте также:  Как настроить кошелек яндекс деньги

Если вы можете создать SSH-подключение с компьютером, напрямую подключенным к Интернету, проверьте ваше устройство края организации для:

  • Внутренний брандмауэр, блокирующий трафик SSH с помощью Интернета
  • Прокси-сервер, препятствующий подключению SSH
  • Обнаружение вторжений или программное обеспечение мониторинга сети, запущенное на устройствах в вашей краевой сети, предотвращающих подключение к SSH

Работайте с администратором сети, чтобы исправить параметры устройств края организации, чтобы разрешить трафик SSH с помощью Интернета.

Источник 3. Конечная точка облачной службы и ACL

Классические VMs будут отменены 1 марта 2023 г.

Если вы используете ресурсы IaaS из ASM, выполните миграцию до 1 марта 2023 г. Мы рекомендуем вам сделать переключатель быстрее, чтобы воспользоваться многими улучшениями функций в Azure Resource Manager.

Дополнительные сведения см. в дополнительных сведениях о переносе ресурсов IaaS в Azure Resource Manager до 1 марта 2023 г.

Этот источник применяется только к VMs, созданным с помощью классической модели развертывания. Для VMs, созданных с помощью диспетчера ресурсов, переперейти к источнику 4. Группы сетевой безопасности.

Чтобы устранить конечную точку облачной службы и ACL в качестве источника сбоя, убедитесь, что другой azure VM в той же виртуальной сети может подключаться с помощью SSH.

Если у вас нет другого VM в той же виртуальной сети, его можно легко создать. Дополнительные сведения см. в сайте Create a Linux VM on Azure с помощью CLI. Удалите дополнительный VM после проверки.

Если вы можете создать SSH-подключение с виртуальным банкоматом в той же виртуальной сети, проверьте следующие области:

  • Конфигурация конечной точки для трафика SSH в целевом VM. Частный порт TCP конечной точки должен соответствовать порту TCP, на котором прослушивается служба SSH в VM. (Порт по умолчанию — 22). Проверьте номер порта TCP SSH на портале Azure, выбрав имя виртуальных машин >ВМ >Параметры >конечных точек.
  • ACL для конечной точки трафика SSH на целевой виртуальной машине. ACL позволяет указать разрешенный или отказано в входящий трафик из Интернета на основе его исходных IP-адресов. Неправильное назначение acLs может предотвратить входящий трафик SSH до конечной точки. Проверьте свои acLs, чтобы убедиться, что входящий трафик с общедоступных IP-адресов прокси-сервера или другого краеугольного сервера разрешен. Дополнительные сведения см. в списке управления сетевым доступом (ACLs).

Чтобы устранить конечную точку в качестве источника проблемы, удалите текущую конечную точку, создайте другую конечную точку и укажите имя SSH (TCP port 22 для номера государственного и частного порта). Дополнительные сведения см. в видеоролике Настройка конечных точек на виртуальной машине в Azure.

Источник 4. Группы безопасности сети

Группы сетевой безопасности позволяют более детально контролировать разрешенный входящий и исходящие трафик. Можно создавать правила, охватывающие подсети и облачные службы в виртуальной сети Azure. Проверьте правила группы сетевой безопасности, чтобы убедиться, что трафик SSH в Интернет и из него разрешен. Дополнительные сведения см. в дополнительных сведениях о группах сетевой безопасности.

Для проверки конфигурации NSG можно также использовать IP Verify. Дополнительные сведения см. в обзоре мониторинга сети Azure.

Источник 5. Виртуальная машина Azure на основе Linux

Последним источником возможных проблем является сама виртуальная машина Azure.

Если вы еще этого не сделали, следуйте инструкциям по сбросу пароля виртуальных машинна основе Linux.

Попробуйте снова подключиться с компьютера. Если он по-прежнему не удается, ниже возможен ряд проблем:

  • Служба SSH не работает на целевой виртуальной машине.
  • Служба SSH не прослушивает порт TCP 22. Чтобы проверить, установите клиент telnet на локальном компьютере и запустите «telnet cloudServiceName.cloudapp.net 22″. Этот шаг определяет, позволяет ли виртуальная машина входящие и исходящие сообщения с конечной точкой SSH.
  • Локальный брандмауэр на целевой виртуальной машине имеет правила, которые предотвращают входящий или исходяющий трафик SSH.
  • Обнаружение вторжений или программное обеспечение для мониторинга сети, которое работает на виртуальной машине Azure, предотвращает подключение к SSH.

Дополнительные ресурсы

Дополнительные сведения об устранении неполадок с доступом к приложениям см. в статью Устранение неполадок к приложению, запущенном на виртуальной машине Azure.

Источник

Оцените статью