Недавно я остановил подписку с 14 виртуальными машинами и перезапустил ее через несколько дней. Теперь все мои виртуальные машины работают нормально, за исключением 6, используемых для MongoDB.
Они отвечают на команду ping и поэтому отображаются на панели инструментов Azure как онлайн, но ни на что не отвечают.
Я пробовал (из разных мест, в лазурном облаке и вне его)
Порты для ssh и mongo открыты в лазурном цвете. Я несколько раз пытался перезапустить виртуальные машины через панель мониторинга Azure, они, кажется, перезапускаются успешно, но все равно отказывают во всех подключениях.
Я уже искал похожие проблемы, и лучшим решением, которое я нашел, было подождать ... проблема возникла в течение 7 дней, и ждать больше не вариант.
Есть лучшее и более быстрое решение, чем загрузка / выгрузка VHD. Как уже упоминалось, проблема "был распознан как отсутствующий символ новой строки в файле sshd_config!"
0. Однако первый шаг должен быть другим, потому что в противном случае вы можете потерять текущий IP-адрес облачной службы, если удалите в нем последнюю виртуальную машину - а на веб-сервере это серьезная проблема. Итак, СНАЧАЛА, создайте новую виртуальную машину в том же географическом регионе, что и проблемная виртуальная машина, чтобы облачная служба имела хотя бы одну работающую виртуальную машину и ваш текущий IP-адрес сохранился.
Удалите проблемную виртуальную машину, но не удаляйте связанный диск. (Вы должны удалить проблемную виртуальную машину, чтобы освободить блокировку связанного диска, которую мы будем использовать позже). Обратите внимание на имя связанного диска (AD).
Выберите новую виртуальную машину -> панель управления -> Подключить -> «Подключить диск» (обратите внимание, что опция «Подключить диск» доступна только тогда, когда связанный диск проблемной виртуальной машины освобожден)
Выберите правильное имя AD во всплывающем окне.
Теперь подключитесь по SSH к новой виртуальной машине и смонтируйте AD:
судо mkdir / tmp / dsk
sudo mount / dev / sdc1 / tmp / dsk
(AD обычно будет / dev / sdc1; если это не в вашем случае, вы можете узнать его, выполнив sudo cat / var / log / syslog | grep scsi и выполнив поиск имени, предшествующего сообщению «Присоединенный SCSI-диск»)
- sudo nano / tmp / dsk / etc / ssh / sshd_config
В нашем случае в конце файла у нас была настройка «UsePAM yesClientAliveInterval 180» - очевидно, что новая строка была ошибочно удалена при обновлении после «да»! Итак, мы вставили новую строку, сохранили файл и выполнили следующие шаги после восстановления sshd_config.
(Вы также можете сделать разницу между / tmp / dsk / etc / ssh / ssh_config и / etc / ssh / sshd_config, чтобы увидеть, отключены ли какие-либо другие конфигурации)
Вернитесь к панели мониторинга Azure: выберите новую виртуальную машину -> панель мониторинга -> отсоединить диск и отсоединить AD.
Запустите новую виртуальную машину, похожую на проблемную виртуальную машину: + New -> Compute -> Virtual Machine -> From Gallery -> My Disks -> AD (AD должен появиться здесь)
Вот и все - надеюсь, SSH теперь работает!
Исходный ответ внизу: http://social.msdn.microsoft.com/Forums/en-US/54c600c0-f4d6-4b20-ad87-1358fa10d27a/linux-vm-ssh-connection-refused?forum=WAVirtualMachinesforWindows
Многие установки Azure сильно пострадали от эта ошибка в Ubuntu это может привести к тому, что люди не смогут пользоваться своими виртуальными машинами из-за неправильной конфигурации. Ошибка обнаружится, если вы запустили виртуальные машины из остановленного состояния или перезапустили их (после запуска apt get upgrade
).
Исправление для установки Azure заключалось в том, чтобы загрузить VHD, подключить VHD как диск, открыть файл / etc / sshd_config и исправить неисправную строку, а затем повторно загрузить VHD.