Мое первоначальное понимание состояло в том, что Лазурный бастион действует как облегченный шлюз SSH (и RDP) для ресурсов — в частности, виртуальных машин — в той же виртуальной сети, а не для предоставления полноценной виртуальной машины в качестве переходника.То есть я ожидаю, что смогу сделать это из любой точки общедоступного Интернета по SSH на виртуальную машину в той же сети:
ssh -i /path/to/private.key -J BASTION_IP user@VM_IP
Где BASTION_IP
общедоступный IP-адрес, связанный с ресурсом Bastion, и ВМ_IP
— это внутренний IP-адрес виртуальной машины в родственной подсети по отношению к подсети Bastion.
Я настроил это в Terraform, используя базовый SKU Bastion, но когда я пытаюсь подключиться, время ожидания истекает. В Azure Poral есть параметр под названием «Поддержка собственных клиентов» (для которого требуется «Стандартный» SKU), представленный как туннелирование_включено
аргумент в соответствующем ресурсе Terraform. После внесения этих изменений мое соединение все еще истекает.
После кроличья нора документации предполагает, что вы имеют для использования Azure CLI. Действительно, я могу заставить туннелирование работать с помощью Azure CLI — расширение SSH, по-видимому, только для Windows, — но это немного глупо:
az login # Я предполагаю, что есть способ войти в систему без присмотра
набор учетных записей az --subscription SUBSCRIPTION_ID
сетевой бастионный туннель az --name BASTION_NAME --resource-group RG_NAME --target-resource-id REALLY_LONG_VM_RESOURCE_ID --resource-port 22 --port 2222 &
ssh -i /path/to/private.key -p 2222 user@localhost
Существует ли незапатентованный способ подключения SSH к виртуальной машине Azure через бастион Azure? Или мое предположение о его использовании не соответствует действительности?