SSH между двумя гостями Virtualbox

На моем ноутбуке я использую два сервера Ubuntu в качестве гостей в virtualbox. Они подключаются через адаптер только для хоста, который имеет IP-адрес "192.168.56.1", а два гостевых сервера имеют IP-адреса "192.168.56.101" и "192.168.56.102". Каждый может пинговать другого, но не ssh в него. Когда я пытаюсь ssh к другому гостю, я получаю следующую ошибку:

ssh: connection to host 192.168.56.102 port 22: Connection refused

Смущает (во всяком случае, для меня) то, что я могу использовать ssh в адаптере только для хоста на хост-ноутбуке, используя:

ssh user@192.168.56.1

Я не уверен, что попробовать дальше. Я попытался переустановить SSH / SSHD. Это просто дало мне кучу ошибок, но я думаю, что если я смогу ssh-то в сети, я должен быть в состоянии ssh-то, верно? Но в любом случае я определенно что-то упускаю.

Я пытался отключить iptables на гостях и хосте, используя

   sudo ufw disable

Затем использовали один из гостей

   ssh user@192.168.56.102

и получил

   ssh: connect to host 192.268.56.101 port 22: Connection refused

<-update->

ssh -v user@192.168.56.101

Дает ли мне следующий вывод:

OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL1.0.1 14 Mar 1012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.56.101 [192.268.56.101] port 22.
debug1: connect to address 192.168.56.101 port 22: Connection refused
ssh: connect to host 192.168.56.101 port 22: Connection refused

<-update->

Мой файл / etc / hosts выглядит так:

127.0.0.1    localhost
127.0.1.1    ubuntu

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Два гостевых ящика не имеют файлов /etc/hosts.allow & /etc/hosts.deny.

ifconfig -a дает мне:

eth0      Link encap:Ethernet  HWaddr 08:00:27:63:c5:71  
          inet addr:192.168.56.102  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe63:c571/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4658 (4.6 KB)  TX bytes:1790 (1.7 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

а также

eth0      Link encap:Ethernet  HWaddr 08:00:27:ce:7c:1e  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fece:7c1e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4718 (4.7 KB)  TX bytes:1790 (1.7 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

<-update->

sudo netstat -pant |grep :22

Не дает вывода

<-update->

Также, когда я пытаюсь получить сам ящик SSH, я получаю тот же порт 22: ошибка соединения отклонена.

4 ответа

Из-за того, что вы получаете отклоненное сообщение, я могу предположить, что вы действительно видите пакеты, попадающие на другой сервер, я подозреваю, что ssh не установлен.

На обоих серверах запускаем:

sudo apt-get install openssh-server

Как только сервер ssh установлен, он должен работать нормально.

<- Правка ->

Я видел, что вы подтвердили, что служба установлена, поэтому не обращайте внимания на вышесказанное, вполне возможно, что это iptables, хотя его не следует настраивать по умолчанию в Ubuntu. Если вы используете 12.04, вы можете временно отключить брандмауэр, набрав:

sudo ufw disable

Посмотрим, поможет ли это вообще.

Кроме того, под "полным беспорядком ошибок", что вы имеете в виду? Вы пытались установить с или без sudo?

Попробуйте использовать IP-адрес ssh -v, чтобы вы могли увидеть, что может быть не так во время соединения!

<< - РЕДАКТИРОВАТЬ - >>
используйте эту команду на хосте 101 и опубликуйте результат

sudo netstat -plant | grep ssh


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

Вы уверены, что в вашем файле ssh_config нет прокси-команды или чего-то подобного?

Если посмотреть на ваш вывод, есть проблема с IP-адресом в вашем отладочном выводе и в сообщении об ошибке: вместо 192.168.xxx.xxx у вас есть 192.268.xxx.xxx

Вы должны проверить конфигурацию вашей сети:

  • что выводится команда "ifconfig -a" на каждом хосте?
  • Вы можете проверить свой файл / etc / hosts?
  • Можете ли вы проверить, есть ли что-то в ваших файлах /etc/hosts.allow и /etc/hosts.deny
  • ... и, конечно, как и предполагалось, вы можете отключить iptables

Я считаю, что опция "только для хоста" создает выделенную связь между гостем и сервером, и виртуальные машины, использующие соединения только для хоста, не должны видеть друг друга в сети.

Вам придется либо соединить их в Linux, либо использовать другой сетевой вариант.

Я полагаю, что то, что вы пытаетесь достичь, может быть сделано, если вы измените параметр сети обеих виртуальных машин на "Внутренняя сеть" и используете одинаковое имя для обеих виртуальных машин.

Редактирование: в соответствии с документацией о виртуальной коробке опция "только для хоста" должна позволять виртуальным машинам взаимодействовать друг с другом, но все же - попробовать.

Edit2: О - я как бы пропустил тот факт, что машины могут пинговать друг друга. В этом случае то, что я написал выше, не имеет значения.

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