Вопрос или проблема
Дано:
- vm – виртуальная машина WinXPsp3, размещенная на физической машине Win7sp1
- alice – пользователь на vm
- srv – сервер Win2008R2sp1
- bob – пользователь на srv
- quake – сервер на linux
- mark – пользователь на quake
- Как на vm, так и на srv установлены одинаковые новые версии cygwin (1.7.9) и openssh.
- Служба брандмауэра отключена на vm (и на его хосте), а также на srv
- Все машины могут пинговаться с любых других машин.
ssh mark@quake
работает нормально как с vm, так и с srv.ssh bob@srv
работает нормально как с quake, так и с vm.ssh alice@vm
работает только на самой vm, но не работает на других двух машинах:
alice@vm ~
$ ssh alice@vm
пароль alice@vm:
Последний вход: вторник, 25 октября 2011 года в 23:42:09 с vm.shunra.net
[mark@Quake ~]$ ssh -vvv alice@vm
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 июл 2008
debug1: Чтение конфигурационных данных /etc/ssh/ssh_config
debug1: Применение параметров для *
debug2: ssh_connect: needpriv 0
debug1: Подключение к vm [172.30.2.60] порт 22.
debug1: connect to address 172.30.2.60 порт 22: Время подключения истекло
ssh: connect to host vm порт 22: Время подключения истекло
bob@Srv ~
$ ssh -vvv alice@vm
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 фев 2011
debug1: Чтение конфигурационных данных /etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Подключение к vm [172.30.2.60] порт 22.
debug1: connect to address 172.30.2.60 порт 22: Время подключения истекло
ssh: connect to host vm порт 22: Время подключения истекло
Я использовал ssh-host-config как на vm, так и на srv, чтобы настроить ssh для работы как служба Windows. Больше ничего не делал.
Может кто-то помочь мне в устранении этой проблемы?
Большое спасибо.
ИЗМЕНЕНИЕ
Программное обеспечение виртуальной машины – VMWare Workstation 7.1.4. Думаю, проблема в его настройках, но не знаю, где именно. Сетевой адаптер настроен на Bridged.
ИЗМЕНЕНИЕ2
Все машины находятся в лаборатории компании, думаю, все они находятся в одном сегменте, но могу ошибаться. Ниже приведен вывод ipconfig /all
для каждой машины (пропускаю сервер linux). Я удалил адаптеры Tunnel, чтобы минимизировать вывод. Если кто-то думает, что они имеют значение, дайте знать, и я опубликую их также. Кроме того, вывод пинга приведен, чтобы показать, что DNS настроен правильно.
Что-то еще, может быть, имеет значение, может быть, и нет. Выполнение psexec
на srv работает нормально, тогда как на vm завершает с Access Denied.
srv:
C:\Windows\system32>ipconfig /all
Конфигурация IP Windows
Имя хоста . . . . . . . . . . . . : srv
Основной суффикс DNS . . . . . . . : shunra.net
Тип узла . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена. . . . . . . : Нет
WINS-прокси включен. . . . . . . . : Нет
Список поиска суффиксов DNS. . . . . . : shunra.net
Ethernet адаптер Локальная сеть:
Специфический суффикс DNS подключения . :
Описание . . . . . . . . . . . : Broadcom BCM5709C NetXtreme II GigE (клиент NDIS VBD)
Физический адрес. . . . . . . . . : E4-1F-13-6D-F3-00
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена . . . . . : Да
IPv4-адрес. . . . . . . . . . . : 172.30.6.9(предпочтительный)
Маска подсети . . . . . . . . . . . : 255.255.248.0
Шлюз по умолчанию . . . . . . . . . : 172.30.0.254
DNS-серверы . . . . . . . . . . . : 172.30.1.1
172.30.1.2
NetBIOS по Tcpip. . . . . . . . : Включён
C:\Windows\system32>ping vm
Пингование vm.shunra.net [172.30.2.60] с 32 байтами данных:
Ответ от 172.30.2.60: bytes=32 время=1мс TTL=128
Ответ от 172.30.2.60: bytes=32 время=4мс TTL=128
Ответ от 172.30.2.60: bytes=32 время<1мс TTL=128
Ответ от 172.30.2.60: bytes=32 время<1мс TTL=128
Статистика пинга для 172.30.2.60:
Пакеты: Отправлено = 4, Получено = 4, Потеряно = 0 (0% потерь),
Приблизительное время обратной передачи в миллисекундах:
Минимум = 0мс, Максимум = 4мс, Среднее = 1мс
C:\Windows\system32>
vm:
C:\>ipconfig /all
Конфигурация IP Windows
Имя хоста . . . . . . . . . . . . : vm
Основной суффикс DNS . . . . . . . : shunra.net
Тип узла . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена. . . . . . . : Нет
WINS-прокси включен. . . . . . . . : Нет
Список поиска суффиксов DNS. . . . . . : shunra.net
shunranet
Ethernet адаптер Локальная сеть:
Специфический суффикс DNS подключения . : shunranet
Описание . . . . . . . . . . . : Адаптер VMware Accelerated AMD PCNet
Физический адрес. . . . . . . . . : 00-0C-29-8F-A0-0B
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена . . . . : Да
IP-адрес. . . . . . . . . . . . : 172.30.2.60
Маска подсети . . . . . . . . . . . : 255.255.248.0
Шлюз по умолчанию . . . . . . . . . : 172.30.0.254
DHCP-сервер . . . . . . . . . . . : 172.30.1.1
DNS-серверы . . . . . . . . . . . : 172.30.1.1
172.30.1.2
Время аренды получено. . . . . . : Вторник, 25 октября 2011 года 18:16:34
Время аренды истекает . . . . . . : Среда, 2 ноября 2011 года 18:16:34
C:\>ping srv
Пингование srv.shunra.net [172.30.6.9] с 32 байтами данных:
Ответ от 172.30.6.9: bytes=32 время=1мс TTL=128
Ответ от 172.30.6.9: bytes=32 время<1мс TTL=128
Ответ от 172.30.6.9: bytes=32 время<1мс TTL=128
Ответ от 172.30.6.9: bytes=32 время<1мс TTL=128
Статистика пинга для 172.30.6.9:
Пакеты: Отправлено = 4, Получено = 4, Потеряно = 0 (0% потерь),
Приблизительное время обратной передачи в миллисекундах:
Минимум = 0мс, Максимум = 1мс, Среднее = 0мс
C:\>
vm-host (хост-машина для vm):
C:\>ipconfig /all
Конфигурация IP Windows
Имя хоста . . . . . . . . . . . . : vm-host
Основной суффикс DNS . . . . . . . : shunra.net
Тип узла . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена. . . . . . . : Нет
WINS-прокси включен. . . . . . . . : Нет
Список поиска суффиксов DNS. . . . . . : shunra.net
Ethernet адаптер Локальная сеть:
Специфический суффикс DNS подключения . :
Описание . . . . . . . . . . . : Realtek RTL8168D/8111D Сетевой адаптер PCI-E Gigabit (NDIS 6.20)
Физический адрес. . . . . . . . . : 6C-F0-49-E7-E9-30
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена . . . . : Да
Локальный IPv6-адрес . . . . . : fe80::f59d:7f6e:1510:6f%10(предпочтительный)
IPv4-адрес. . . . . . . . . . . : 172.30.6.7(предпочтительный)
Маска подсети . . . . . . . . . . . : 255.255.248.0
Шлюз по умолчанию . . . . . . . . . : 172.30.0.254
DHCPv6 IAID . . . . . . . . . . . : 242020425
DHCPv6 DUID клиента. . . . . . . . : 00-01-00-01-13-CC-39-80-6C-F0-49-E7-E9-30
DNS-серверы . . . . . . . . . . . : 172.30.1.1
194.90.1.5
NetBIOS по Tcpip. . . . . . . . : Включён
Ethernet адаптер VMware Network Adapter VMnet1:
Специфический суффикс DNS подключения . :
Описание . . . . . . . . . . . : Виртуальный Ethernet адаптер VMware для VMnet1
Физический адрес. . . . . . . . . : 00-50-56-C0-00-01
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена . . . . : Да
Локальный IPv6-адрес . . . . . : fe80::cd92:38c0:9a6d:c008%16(предпочтительный)
Автонастройка IPv4-адреса. . . . . : 169.254.192.8(предпочтительный)
Маска подсети . . . . . . . . . . . : 255.255.0.0
Шлюз по умолчанию . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 352342102
DHCPv6 DUID клиента. . . . . . . . : 00-01-00-01-13-CC-39-80-6C-F0-49-E7-E9-30
DNS-серверы . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS по Tcpip. . . . . . . . : Включён
Ethernet адаптер VMware Network Adapter VMnet8:
Специфический суффикс DNS подключения . :
Описание . . . . . . . . . . . : Виртуальный Ethernet адаптер VMware для VMnet8
Физический адрес. . . . . . . . . : 00-50-56-C0-00-08
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена . . . . : Да
Локальный IPv6-адрес . . . . . : fe80::edb9:b78c:a504:593b%17(предпочтительный)
IPv4-адрес. . . . . . . . . . . : 192.168.5.1(предпочтительный)
Маска подсети . . . . . . . . . . . : 255.255.255.0
Шлюз по умолчанию . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 369119318
DHCPv6 DUID клиента. . . . . . . . : 00-01-00-01-13-CC-39-80-6C-F0-49-E7-E9-30
DNS-серверы . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS по Tcpip. . . . . . . . : Включён
C:\>ping srv
Пингование srv.shunra.net [172.30.6.9] с 32 байтами данных:
Ответ от 172.30.6.9: bytes=32 время<1мс TTL=128
Ответ от 172.30.6.9: bytes=32 время<1мс TTL=128
Ответ от 172.30.6.9: bytes=32 время<1мс TTL=128
Ответ от 172.30.6.9: bytes=32 время<1мс TTL=128
Статистика пинга для 172.30.6.9:
Пакеты: Отправлено = 4, Получено = 4, Потеряно = 0 (0% потерь),
Приблизительное время обратной передачи в миллисекундах:
Минимум = 0мс, Максимум = 0мс, Среднее = 0мс
C:\>ping vm
Пингование vm.shunra.net [172.30.2.60] с 32 байтами данных:
Ответ от 172.30.2.60: bytes=32 время<1мс TTL=128
Ответ от 172.30.2.60: bytes=32 время<1мс TTL=128
Ответ от 172.30.2.60: bytes=32 время<1мс TTL=128
Ответ от 172.30.2.60: bytes=32 время<1мс TTL=128
Статистика пинга для 172.30.2.60:
Пакеты: Отправлено = 4, Получено = 4, Потеряно = 0 (0% потерь),
Приблизительное время обратной передачи в миллисекундах:
Минимум = 0мс, Максимум = 0мс, Среднее = 0мс
C:\>
ИЗМЕНЕНИЕ3
Я только что проверил – vm-host может устанавливать ssh-соединение с машиной vm! Я до сих пор не знаю, как использовать это открытие для решения проблемы.
Проблема связана с vm-host. Хотя он должен быть прозрачным для SSH-коммуникации, происходящей с гостевой машины (т.е. vm), по какой-то неизвестной причине это не так. Поэтому мне пришлось установить OpenSSH (через cygwin) на vm-host, хотя я не планирую получать к нему доступ через SSH. Как только я установил OpenSSH на vm-host, я смог получить доступ к vm (гостевой машине).
Как установка OpenSSH на хост-машине решает проблемы доступа к гостю, я не знаю.
Ответ или решение
Проблема: Время ожидания подключения по SSH
В ходе рассмотрения проблемы с подключением по SSH к виртуальной машине (VM), размещённой на физической машине (host), выявлено, что подключение заканчивается ошибкой "Connection timed out". Данная проблема может быть связана как с сетевой конфигурацией, так и с настройками SSH, устанавливаемыми на машине, которой вы пытаетесь подключиться. Рассмотрим основные возможные причины и пути их решения.
1. Настройки сети
Убедитесь, что ваша виртуальная машина правильно настроена для работы в сети. Как указано, адаптер сети установлен в режим "Bridged", что подразумевает, что она должна получать IP-адрес от DHCP-сервера вашей локальной сети. Проверьте следующие моменты:
-
IP-адрес и подсеть: Убедитесь, что IP-адрес VM (172.30.2.60) находится в одной подсети с другими машинами (srv и quake). Например, вы можете увидеть, что у вас совпадает подсеть (255.255.248.0), что является хорошим знаком – вам следует проверить правильность настроек сети.
-
Проверка доступности: Так как ping работает без потерь, это говорит о том, что базовая сетевое соединение установлено. Тем не менее, необходимо дополнительно проверить настройки маршрутизации на самой виртуальной машине, а также на хосте, чтобы убедиться, что пакеты правильно направляются.
2. Проверка службы SSH
Важно удостовериться, что служба SSH работает корректно на виртуальной машине. Следует проверить:
-
Запуск службы: Убедитесь, что служба SSH запущена. Для этого можно использовать команду
cygwin
на виртуальной машине. Например, выполните:net start sshd
-
Настройки конфигурации: Проверьте файл конфигурации
/etc/ssh/sshd_config
на виртуальной машине. Убедитесь, что:- SSH-сервер слушает на порту 22.
- Конфигурация не ограничивает доступ по IP-адресам, что может блокировать SSH подключения с других машин.
3. Проблемы с фаерволом
Хотя вы упоминаете, что служба фаервола отключена, важно выполнить дополнительные проверки:
- Убедитесь, что для службы SSH не установлены слишком строгие правила безопасности или фильтров, даже если сами службы фаервола отключены.
- Является ли установленное в VMWare правило NAT или Firewall проблемой? Возможно, следует проверить настройки VMWare и отключить все ненужные правила, которые могут препятствовать доступу.
4. Обновление OpenSSH на хосте
Интересно, что установка OpenSSH на физической машине (vm-host) позволила устранить проблему доступа к виртуальной машине. Это может быть связано с несколькими факторами:
-
Протоколы и зависимости: Установка OpenSSH могла решить несоответствие протоколов между различными версиями OpenSSH на виртуальной и физической машинах или исправить зависимость, необходимую для корректной работы SSH-подключений.
-
Сетевой стек: Возможно, установка SSH на vm-host повлияла на сетевой стек, улучшив маршрутизацию пакетов между хостом и виртуальной машиной.
5. Тестирование соединения
Рекомендуется провести тестирование соединения с использованием утилит типа tcpdump
или Wireshark, чтобы увидеть, поступают ли пакеты от запрашивающей стороны на виртуальную машину. Это поможет диагностировать, на каком этапе происходит сбой.
Заключение
Проблема с тайм-аутом SSH-соединения к виртуальной машине может заключаться в различных аспектах настройки сети, конфигурации SSH и совместимости версий программного обеспечения. Последовательно проверяя каждую из указанных выше возможно причин, вы сможете найти и устранить источник проблемы, обеспечив стабильную и безопасную работу вашего SSH-соединения.