Дерево диагностики внезапного SSH-отказа через Azure Bastion: состояние Bastion и VM, NSG, порт 22, AADSSHLoginForLinux, роли Entra и безопасный пакет доказательств.
Нарисуйте путь соединения
SSH через Bastion проходит от портала или native client к ресурсу Bastion, затем по виртуальной сети к приватному адресу VM и только после этого к SSH-службе и механизму входа. Запишите, на каком экране или этапе появляется отказ и сколько времени проходит. Не объединяйте «Bastion не открывается», «target VM unhealthy», timeout порта и authentication failed. Каждое сообщение указывает на другую границу и требует разных доказательств. Не открывайте порт 22 в интернет ради сравнения.
Сначала проверьте Bastion и целевую VM
Microsoft рекомендует сверить состояние Bastion, подключённую виртуальную сеть, приватный IP, питание VM, NSG и доступность требуемого порта от подсети Bastion. Делайте только чтение конфигурации и Resource Health. Если Bastion сообщает, что целевая VM недоступна, Entra-роли ещё не участвуют в проверке. Если TCP-путь проходит и появляется запрос аутентификации, сетевой слой доказан частично. Не удаляйте Bastion и не меняйте подсеть до сохранения текущей топологии.
Проверьте SSH-службу без смены политики
На VM подтвердите, что ОС работает, служба SSH запущена и слушает ожидаемый порт, используя разрешённый административный канал, например Run Command или Serial Console. Это не требует создания публичного IP. Сопоставьте время отказа с обновлением ОС, диском, загрузкой CPU и журналом sshd. Если служба не слушает, Entra extension не исправит транспорт. Если слушает и Bastion достигает порта, переходите к входу. Не сбрасывайте конфигурацию sshd без копии и плана возврата.
Отделите Entra-роли и расширение
Официальная документация Bastion для Entra ID требует поддерживаемую конфигурацию, расширение AADSSHLoginForLinux и назначение роли Virtual Machine Administrator Login или Virtual Machine User Login на подходящей области. Сверьте состояние расширения, effective role assignment, tenant и способ подключения. Owner или Contributor управляют ресурсом, но не автоматически дают право входа в ОС. Не назначайте широкую роль на подписку: для теста используйте минимальную область и согласованную учётную запись.
Соберите временную линию
В пакет включите время UTC, регион, SKU Bastion, способ клиента, точную ошибку, состояние VM, приватный IP в маскированном виде, результат TCP-пути, статус sshd, версию и статус AADSSHLoginForLinux, effective role и изменения Activity Log. Не публикуйте tenant, subscription, resource IDs или ключи. Критерий успеха — два входа одной учётной записью через исходный приватный путь. Если сеть и служба исправны, а токен или роль отклоняются, эскалируйте слой Entra; если unhealthy — слой VM/Bastion.
Материал подготовлен самостоятельно с автоматизацией и редакционно проверен 29 июля 2026 года по обезличенному сигналу Microsoft Q&A и официальной документации Azure; адреса, роли пользователей и журналы не использовались.
Источники и проверка
- Microsoft Learn — устранение проблем Bastion проверено 2026-07-29
- Microsoft Learn — Entra ID для Bastion проверено 2026-07-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.