На моем ноутбуке я запускаю два сервера Ubuntu в качестве гостей на виртуальном боксе. Они подключаются через адаптер только для хоста с 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 [email protected]

Я не уверен, что попробовать дальше. Я пробовал переустановить ssh / sshd. Это дало мне массу ошибок, но я думаю, что если я могу использовать ssh для одной вещи в сети в сети, я смогу использовать ssh для чего-то еще, верно? Но в любом случае я определенно что-то не замечаю.

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

   sudo ufw disable

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

   ssh [email protected]

и получил

   ssh: connect to host 192.268.56.101 port 22: Connection refused

<-update->

ssh -v [email protected]

Дает мне следующий результат:

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: Ошибка подключения отклонена.

answer

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

На обоих серверах запустить:

sudo apt-get install openssh-server

После установки ssh-сервера он должен работать нормально.

<- Изменить ->

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

sudo ufw disable

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

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

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

<< - EDIT - >>
используйте эту команду на хосте 101 и опубликуйте resutl

sudo netstat -plant | grep ssh


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

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

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

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

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

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

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

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

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

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