Устранение неполадок с подключением по протоколу SSH на виртуальной машине Linux Azure из-за проблем с разрешениями и владением
Примечание.
CentOS, упоминаемая в этой статье, является дистрибутивом Linux и достигнет конца жизненного срока (EOL). Рассмотрите возможность использования и спланируйте соответствующие планы. Дополнительные сведения см. в руководстве по окончании жизненного циклов CentOS.
В этой статье описаны решения проблемы, из-за которой подключение к виртуальной машине Linux через Secure Shell (SSH) завершается сбоем, так как каталог /var/empty/sshd в RHEL, каталог /var/lib/empty в SUSE или каталог /var/run/sshd в Ubuntu не существует, или он не принадлежит корневому пользователю, или он может быть доступен для записи в группу или в мире.
Симптомы
При подключении к виртуальной машине Linux по протоколу SSH подключение завершается сбоем. В зависимости от дистрибутива Linux может появилось следующее сообщение об ошибке о затронутом каталоге.
sudo tail /var/log/messages
sshd: /var/empty/sshd must be owned by root and not group or world-writable.
Причина
Эта проблема может возникнуть, если затронутый каталог не принадлежит корневому пользователю или если он доступен для записи в группу или в мире.
Чтобы устранить эту проблему, используйте одно из следующих решений:
- Решение 1. Восстановление виртуальной машины в сети.
- Решение 2. Восстановление виртуальной машины в автономном режиме.
Решение 1. Восстановление виртуальной машины в сети
Ниже приведены два метода восстановления виртуальной машины в автономном режиме:
Использование последовательной консоли
Подключитесь к последовательной консоли виртуальной машины из портал Azure.
Войдите в виртуальную машину, используя учетную запись локального администратора и соответствующие учетные данные или пароль.
Выполните следующие команды, чтобы устранить проблему с разрешениями и владением:
sudo mkdir -p /var/empty/sshd sudo chmod 755 /var/empty/sshd sudo chown root:root /var/empty/sshd
Использование расширения "Выполнить команду"
Примечание.
Этот метод использует агент виртуальной машины Linux Azure (waagent). Поэтому убедитесь, что агент установлен на виртуальной машине и что ее служба запущена.
В портал Azure откройте окно Свойства виртуальной машины, чтобы проверка состояние агента. Если агент включен и имеет состояние Готово , выполните следующие действия, чтобы изменить разрешение:
Перейдите к портал Azure, найдите параметры виртуальной машины и выберите Выполнить команду в разделе Операции.
Выполните следующий скрипт оболочки, выбрав RunShellScript>Run (Выполнить) :
#!/bin/bash #Script to change permissions on a file mkdir -p /var/empty/sshd;chmod 755 /var/empty/sshd;chown root:root /var/empty/sshd
- После завершения выполнения скрипта в окне консоли вывода отобразится сообщение "Включить успешно".
Если вы можете подключиться к виртуальной машине по протоколу SSH и хотите проанализировать сведения о выполнении скрипта run-command, изучите файл handler.log в каталоге /var/log/azure/run-command .
Решение 2. Восстановление виртуальной машины в автономном режиме
Примечание.
- Используйте это разрешение, если доступ к последовательной консоли виртуальной машины недоступен и waagent не готов.
- В Ubuntu каталог /var/run/sshd выполняется в памяти. Перезапуск виртуальной машины также исправит проблему. Поэтому устранение неполадок в автономном режиме на виртуальных машинах Ubuntu не требуется.
Ниже приведены два метода восстановления виртуальной машины в автономном режиме:
Использование автоматического восстановления Linux в Azure (ALAR)
Скрипты автоматического восстановления Azure Linux (ALAR) являются частью расширения восстановления виртуальной машины, описанного в разделе Восстановление виртуальной машины Linux с помощью команд восстановления виртуальной машины Azure.
Чтобы автоматизировать процесс в автономном режиме вручную, выполните следующие действия.
Примечание.
На следующих шагах замените $RGNAME
значения , $VMNAME
, $USERNAME
, $PASSWORD
и repairdiskcopy
соответственно.
Используйте команду az vm repair create , чтобы создать виртуальную машину восстановления. Виртуальная машина восстановления имеет копию диска ОС для подключенной проблемной виртуальной машины.
az vm repair create --verbose -g $RGNAME -n $VMNAME --repair-username $USERNAME --repair-password $PASSWORD --copy-disk-name repairdiskcopy
Войдите в виртуальную машину восстановления. Подключите и chroot к файловой системе подключенной копии диска ОС. Следуйте подробным инструкциям по chroot.
Выполните следующие команды, чтобы устранить проблемы с разрешениями и владением:
mkdir -p /var/empty/sshd chmod 755 /var/empty/sshd chown root:root /var/empty/sshd
После применения изменений выполните следующую
az vm repair restore
команду, чтобы выполнить автоматическое переключение диска ОС с исходной виртуальной машиной.az vm repair restore --verbose -g $RGNAME -n $VMNAME
Использование ручного метода
Если и последовательная консоль, и подход ALAR не применяются к вам или завершаются ошибкой, восстановление необходимо выполнить вручную. Выполните следующие действия, чтобы вручную подключить диск ОС к виртуальной машине восстановления и переключить диск ОС обратно на исходную виртуальную машину.
- Подключите диск ОС к виртуальной машине восстановления с помощью портал Azure.
- Подключите диск ОС к виртуальной машине восстановления с помощью Azure CLI.
После успешного подключения диска ОС к виртуальной машине восстановления следуйте подробным инструкциям по подключению к файловой системе подключенного диска ОС. Затем выполните шаг 3 в разделе Использование автоматического восстановления Linux Azure (ALAR), чтобы устранить проблемы с разрешениями и владением.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по