На моем ноутбуке я запускаю два сервера 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 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: Ошибка подключения отклонена.
Из-за того, что вы получаете отклоненное сообщение, я могу предположить, что вы действительно видите, как пакеты попадают на другой сервер, я подозреваю, что ssh не установлен.
На обоих серверах запустить:
sudo apt-get install openssh-server
После установки ssh-сервера он должен работать нормально.
<- Изменить ->
Я видел, что вы подтвердили, что служба установлена, поэтому игнорируйте вышесказанное, это вполне может быть iptables, хотя в Ubuntu ее не следует настраивать по умолчанию. Если вы используете 12.04, вы можете временно отключить брандмауэр, набрав:
sudo ufw disable
Посмотрим, поможет ли это вообще.
Кроме того, что вы имеете в виду под «полным беспорядком»? вы пробовали установить с sudo или без?
Попробуйте использовать ssh -v IP-адрес , так что вы можете увидеть, что может быть не так во время подключения!
<< - РЕДАКТИРОВАТЬ - >>
используйте эту команду на хосте 101 и опубликуйте resutl
sudo netstat -plant | grep ssh
в основном эта команда показывает все сетевые подключения на вашем компьютере, и я хочу увидеть, работает ли ssh на другой порт уважение к 22
Я считаю, что опция «только для хоста» создает выделенное соединение между гостем и сервером, а виртуальные машины, использующие подключения только для хоста, не должны видеть друг друга в сети.
Вам придется либо соединить их в Linux, либо использовать другой вариант сети.
Я считаю, что то, что вы пытаетесь достичь, может быть достигнуто, если вы измените сетевой параметр обеих виртуальных машин на «Внутренняя сеть» и используете одно и то же имя для обеих виртуальных машин.
Изменить: в соответствии с документацией виртуального бокса опция «только для хоста» должна позволять виртуальным машинам связываться друг с другом, но все же - попробуйте.
Edit2: О, я как бы упустил тот факт, что машины могут пинговать друг друга. В этом случае то, что я написал выше, не имеет значения.
Вы уверены, что в вашем файле ssh_config нет прокси-команды или чего-то подобного?
Посмотрев на ваш вывод, вы обнаружите проблему с IP-адресом в вашем отладочном выводе и в сообщении об ошибке: вместо 192.168.xxx.xxx у вас 192.268.xxx.xxx
Вам следует проверить конфигурацию вашей сети: