SSH у гость VirtualBox: з'єднання відмовлено


21

Налаштування

  • 64-розрядна операційна система Windows 7, що працює під управлінням VirtualBox 4.2, з гостьовою ОС Ubuntu 12.04.
  • Сервер OpenSSH встановлений і працює ( ssh -v localhost підключається локально в гостьовій машині).
  • Може SSH на зовнішніх серверах (відсутність вихідного правила брандмауера Windows, що блокує порт 22)
  • Може пінг-код IP-гостя (192.168.56.101)

Проблема

Використовуючи PuTTY для SSH для IP гостьової ОС (192.168.56.101), PuTTY повертається майже одразу з

Помилка мережі: відмовлено в з'єднанні

Як я можу діагностувати та вирішити цю проблему?

Відповіді:


10

Ви впевнені, що IP призначений для гостьової ОС. У мене була така ж проблема, і виявилося, що IP, яким я користувався весь час, 192.168.56.101 - це фактично IP-інтерфейс Windows, а IP-адреса хоста - 192.168.56.103.

Ви можете перевірити, виконавши ipconfig / ifconfig на обох.

ПРИМІТКА: Я також встановив статичний IP, який, виявляється, мені зовсім не потрібен. Якщо ви спробуєте з самого початку, я знайшов цей підручник кращим.


6
+1, за замовчуванням VirtualBox - це створити гостя, адаптер віртуальної мережі якого NAT'ed через сам VirtualBox. Отже, такий гість міг би вийти з SSH та сам SSH , але він не зможе отримувати з'єднання SSH, доки в VirtualBox не будуть створені правила переадресації портів.
Горд Томпсон

+1 Нарешті через 1 годину безладу Google! Я думав, що .101 був гостем, а не господарем!
Афр

6

Жодне з інших рішень не є гарним, оскільки:

  1. Немає сенсу сш на гостя через міст, якщо гість втратить доступ до Інтернету
  2. Всі інші рішення, наведені вище, говорять вам про створення ракети для переходу дороги.

Сценарій

  • Хост Ubuntu Desktop 16.04
  • Гість Ubuntu Server 16.04 (працює у віртуальному вікні 5)

Проблема

Підключення SSH відмовлено

Рішення

  1. Вимкніть ваш гість Ubuntu
  2. У Virtualbox перейдіть до Налаштування> мережа> Адаптер1> Додатково> Портфордінг
  3. Ім'я = Hostport SSH = 2022 (або будь-який порт, але 22) Гостьовий порт (22)
  4. Перезавантажте свого гостя
  5. На хості відкрийте Putty або все, що ви використовуєте для SSH
  6. ssh user@127.0.0.1 -p2022 (або будь-який порт, який ви згадали як хост-порт)
  7. Веселіться у вас

У мене є проблема з цим: у налаштуваннях Virtualbox> мережа> Adapter1> Advanced> Portforwarding є сірим кольором, який не можна натискати. imgur.com/seT3p02
SL5net

@ SL5net вимкніть VM
Алон Гулдман

2

Наступні роботи для мене:

Перед:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

Після:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

Отже, я в основному змінив частину файлу {/ etc / network / interfaces} так:

Перед:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

Після:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

Працює: ssh username@192.168.56.101


Не знаю чому, це працювало для мене. Спасибі @Mause
murarisumit

2

Безпечна оболонка (SSH) - це протокол для входу в систему та виконання команд на віддалених машинах. Він забезпечує безпечний зашифрований зв’язок. Якщо ви плануєте дистанційно отримувати доступ до машини через SSH через інтерфейс, що захищається, увімкніть цю опцію. Вам потрібен пакет opensh-сервера, встановлений для цієї опції, щоб бути корисним.

Ось інформація, що пакет openssh-serverмає бути встановлений. Після цього у гості та перезавантаження vm ви можете використовувати ssh.


Я не перезапустив Ubuntu 16.04, і він все ще працював. Дякую :)
Орен Мілман

1

Переконайтеся, що ваш брандмауер ОС не блокує вхідні з'єднання на порт 22.


1
Брандмауер гостьової ОС відключений. Це за замовчуванням, і я переконався, що він відключений sudo ufw status.
Ерік Дж.

1

Можливо, це проблема з контролем доступу. Щоб вимкнути його та дозволити повний доступ, як root:

xhosts +

У мене була подібна проблема з глядачем VNC


1
Я дуже сумніваюся, що IMHO sshd не має нічого спільного з X - на відміну від vnc.
mpy

1

Проблема була вирішена шляхом включення сервера DHCP на мережевому адаптері VirtualBox.

VirtualBox (остання версія, версія 5) -> Файл -> Налаштування -> Мережа -> Хост-мережі (вкладка) -> Інформація про мережі, що приймаються тільки (інструмент піктограм) -> DHCP-сервер

  1. Поставте прапорець Увімкнути сервер
  2. Заповніть IP-адресу
  3. ДОБРЕ-ДОБРЕ
  4. Перезавантажте віртуальну машину

Мої налаштування для кроку 2

  1. Адреса сервера: 192.168.56.100
  2. Маска сервера: 255.255.255.0
  3. Нижня адреса: 192.168.56.101
  4. Верхня межа: 192.168.56.200

1

Привіт, я просто повертаюся до першої сторінки, яку я знайшов у своїй міні-сазі з усунення несправностей та досліджень, сподіваючись, що цей підручник, який я створив, може врятувати когось іншого непорозуміння.

Початкове керівництво по налаштуванню сервера CentOS за допомогою Oracle VM:

Частина I - Налаштування віртуальної машини

  1. Встановіть Oracle VM VirtualBox та пакет розширень тут .
  2. Завантажте мінімальну установку CentOS тут .
  3. Для цього підручника я використовую клієнт Ubuntu. ISO для цього можна знайти тут .
  4. Створіть сервер CentOS і віртуальні машини вашого клієнта.
  5. Налаштування CentOS VM. а. Відкрийте пункт "Місце установки" та натисніть "Назад". б. Перейдіть до Мережі та імені хоста, якщо ви хочете змінити ім'я хоста, що я рекомендую. c. Ви можете налаштувати елементи в розділі Локалізація. Все інше обробляється автоматично VirtualBox. г. Натисніть почати встановлення. е. Створіть як кореневий, так і звичайний. Переконайтеся, що останній має права адміністратора. f. Після заповнення панелі завантаження натисніть Перезавантажити.
  6. Налаштування клієнта VM. а. Встановіть додатки для гостей VirtualBox.

Частина II - Конфігурація віртуальної мережі

  1. У VirtualBox натисніть CTRL + W.
  2. Створіть нову хост-мережу. а. Якщо ви отримаєте помилку, це, ймовірно, пов’язано з тим, що ваша хост-операція викликає проблеми з VirtualBox при встановленні драйверів. Вам потрібно буде повністю видалити VirtualBox та перевстановити останню версію. Не забудьте запустити інсталяцію як адміністратор.
  3. На вкладці "Адаптер" виберіть "Налаштувати адаптер вручну"
  4. Для Windows відкрийте командний рядок і введіть ipconfig.
  5. Прокручуйте висновок, поки не знайдете назву створеної вами лише мережі хостів. Використовуйте цю адресу і маску IPv4 для конфігурації мережі VirtualBox.
  6. Закрийте диспетчер мереж хостингу.
  7. Відкрийте налаштування клієнта VM. У розділі Мережа, увімкніть адаптер 2, виберіть адаптер, лише для хоста, а потім ім'я вашої новоствореної мережі лише для хостів.
  8. Повторіть останній крок для VM сервера CentOS. Крім того, перейдіть до переадресації порту адаптера 1 на вкладці Додатково та створіть нове правило. Встановіть хост і порт для гостей на 22.
  9. Перш ніж закрити розширені налаштування, зверніть увагу на MAC-адресу.

Частина III - Конфігурація сервера

  1. Запустіть свій CentOS VM.
  2. Run yum check-update, yum upgradeі yum clean all.
  3. Біжи nmtui.
  4. Натисніть клавішу Enter над "Редагувати з'єднання".
  5. Ви повинні побачити "enp03s" та "Провідний з'єднання 1". а. Якщо у вас є два варіанти підключення, але ви не впевнені, який саме, перейдіть до редагування. Якщо значення пристрою відповідає МАС-адресі, яку бачите в Адаптері 1 від Частини II, то це ваше NAT-з'єднання, в іншому випадку це лише ваш хост-з'єднання.
  6. Відредагуйте підключення лише для господаря: a. Встановіть конфігурацію IPv4 на "вручну". B. Показати конфігурацію IPv4 c. У VirtualBox натисніть CTRL + W. Поруч із мережевим іменем, розміщеним лише на сервері, ви повинні побачити і комбінацію IP-адреси / маски форми “[ip] / [маска].” На вашому сервері в конфігурації IPv4 це те, що ви наберете після натискання <Add…>. г. Спустіться вниз і натисніть OK.
  7. Переконайтеся, що параметр "Автоматично підключитися" встановлено як для підключення лише для хоста, так і для NAT.
  8. Вихід із nmtuiта reboot.

Частина IV - Конфігурація та використання клієнта

  1. Завантажте ваш клієнт VM.
  2. (необов’язково) Редагувати / etc / hosts, щоб включити рядок форми: [serv_ip_addr] [ім'я хоста], де serv_ip_addr - ip-адреса вашого сервера CentOS (другий вихід hostname -Iу вашому терміналі CentOS). Це дозволить вам використовувати все, що ви вибрали для [ім'я хоста] взаємозамінно з ip адресою вашого сервера. Зазвичай я встановлюю це ім'я хоста, вибране в частині II.
  3. Якщо все спрацювало до цього моменту, ви повинні мати можливість перейти [user]@[hostname]на ваш сервер CentOS. Якщо це не так, можливо, вам знадобиться встановити openssh-clientі openssh-serverна ваших машинах.

Частина V - Обслуговування веб-сайтів

  1. Це чудовий посібник щодо розміщення власних веб-сайтів із налаштування, як описано вище.

0

Мені довелося вирішити цю проблему, додавши правило ufw для 2-го адаптера:

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

де enp0s8 - ім'я мого 2-го адаптера (у старих дистрибутивах Ubuntu це було eth1).


-1

У своєму вікні Linux (VirtualBox Ubuntu) відкрийте термінал і введіть таку команду: sudo service ssh start

Спробуйте підключитися до нього знову після цього

О, погано, я пропустив те, на що вказав gronostaj

ОК, іноді рішення дійсно прості. нещодавно я зіткнувся з тією ж проблемою з гостем Slackware на хості Windows 7. Все, що мені потрібно було зробити, це, якщо налаштувати eth'X 'та призначити IP 192.168.56.xxx sub net 255.255.255.0 (якщо тільки адаптер хосту). Це питання майже рік, тому я згадую про це для когось, як я, спотикається на цій сторінці в пошуці ​​"ssh-з'єднання відмовлено" ;-)


ОП заявило, що локальні з'єднання SSH працюють, тому сервер працює.
gronostaj

-2

Мав таку ж проблему, вирішив її, додавши віртуальний жорсткий диск до VM, який не мав жодного.


Це означає, що ваша проблема була іншою. Якщо у Вашого VM не було жорсткого диска, він не завантажувався до ОС, якою був ОП. Прочитайте уважно питання, щоб переконатися, що ви їх зрозуміли, перш ніж відповісти.
music2myear

Це не дає відповіді на запитання. Коли у вас буде достатня репутація, ви зможете коментувати будь-яку публікацію ; натомість надайте відповіді, які не потребують уточнення від запитувача . - З огляду
music2myear

Моя VM була завантажена в 32-бітовому ISO-файлі Linux без додаткового віртуального жорсткого диска
Луї Гарчинський

Що означає, що ви працювали на "Live" Linux сесії, що, безумовно, не те, з чим займалася ОП. Ми раді, що ви вирішили вашу проблему, але ваше рішення не є рішенням, а не навіть навіть близьким до того, що переживало ОП.
music2myear

Ви абсолютно правильні, я не розумів, що проблема ОП настільки конкретна. Це сказало, враховуючи, що я отримав те саме повідомлення про помилку, я буду зберігати відповідь тут, на випадок, якщо хтось із моєю проблемою теж опиниться тут.
Луї Гарчинський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.