Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья помогает подключиться через Бастион Azure к виртуальной машине в виртуальной сети с помощью собственного клиента на локальном компьютере Linux. Функция собственного клиента позволяет подключаться к целевым виртуальным машинам через Бастион с помощью Azure CLI и развертывать параметры входа, чтобы включить локальную пару ключей SSH и идентификатор Microsoft Entra. Дополнительные сведения и действия по настройке Бастиона для собственных подключений клиентов см. в разделе "Настройка бастиона" для собственных подключений клиентов. Для подключений через собственный клиент требуется SKU "Bastion Standard" или выше.
После настройки Бастиона для поддержки собственного клиента можно подключиться к виртуальной машине с помощью собственного клиента Linux. Метод, используемый для подключения, зависит от клиента, от который вы подключаетесь, и от виртуальной машины, к которой вы подключаетесь. В следующем списке показаны некоторые доступные способы подключения из собственного клиента Linux. Сведения о подключении к виртуальным машинам см. в полном списке с доступными сочетаниями подключений и компонентов клиента.
- Подключитесь к виртуальной машине Linux с помощью az network bastion ssh.
- Подключитесь к виртуальной машине Windows с помощью az network bastion tunnel.
- Подключитесь к любой виртуальной машине с помощью команды az network bastion tunnel.
- Передача файлов на целевую виртуальную машину по протоколу SSH с помощью az network bastion tunnel.
Prerequisites
Прежде чем начать, убедитесь, что у вас есть следующие предварительные требования:
- Установлена последняя версия команд CLI (версия 2.32 или более поздняя). Вы можете обновить интерфейс командной строки для бастиона с помощью
az extension update --name bastion. Сведения об установке команд CLI см. в разделах Установка Azure CLI и Начало работы с Azure CLI. - Бастион Azure уже развернут и настроен для виртуальной сети. Инструкции см. в разделе "Настройка бастиона" для собственных подключений клиентов.
- Виртуальная машина в виртуальной сети.
- Идентификатор ресурса виртуальной машины. Идентификатор ресурса можно легко найти на портале Azure. Перейдите на страницу обзора виртуальной машины и выберите ссылку "Представление JSON ", чтобы открыть JSON ресурса. Скопируйте идентификатор ресурса в верхней части страницы в буфер обмена, чтобы использовать его позже при подключении к виртуальной машине.
- Если вы планируете войти на виртуальную машину с помощью учетных данных Microsoft Entra, убедитесь, что виртуальная машина настроена с помощью одного из следующих методов:
Проверка ролей и портов
Убедитесь, что для подключения к виртуальной машине настроены следующие роли и порты.
Обязательные роли
Роль на чтение на виртуальной машине.
Роль чтеца на сетевом адаптере с частным IP-адресом виртуальной машины.
Роль пользователя с правами чтения в ресурсе Azure Bastion.
Роль входа администратора виртуальной машины или имени входа пользователя виртуальной машины, если вы используете метод входа в Microsoft Entra. Это необходимо сделать только в том случае, если вы включаете вход в Microsoft Entra с помощью процессов, описанных в одной из следующих статей:
Ports
Чтобы подключиться к виртуальной машине Linux с помощью собственной поддержки клиентов, необходимо открыть следующие порты на виртуальной машине Linux:
- Входящий порт: SSH (22) или
- Входящий порт: настраиваемое значение (при подключении к виртуальной машине через Бастион Azure) необходимо указать этот пользовательский порт.
Чтобы подключиться к виртуальной машине Windows с помощью собственной поддержки клиентов, необходимо открыть следующие порты на виртуальной машине Windows:
- Входящий порт: RDP (3389) или
- Входящий порт: настраиваемое значение (при подключении к виртуальной машине через Бастион Azure) необходимо указать этот пользовательский порт.
Сведения о том, как лучше настроить группы безопасности сети с помощью Бастиона Azure, см. в статье "Работа с доступом NSG и Бастионом Azure".
Подключение к виртуальной машине Linux
Действия, описанные в следующих разделах, помогают подключиться к виртуальной машине Linux из собственного клиента Linux с помощью команды az network bastion . Это расширение можно установить, выполнив команду az extension add --name bastion.
При подключении с помощью этой команды передача файлов не поддерживается. Если вы хотите передать файлы, подключитесь с помощью команды az network туннель бастиона.
Эта команда позволяет выполнить следующие действия:
- Подключитесь к виртуальной машине Linux с помощью SSH.
- Проверка подлинности с помощью идентификатора Microsoft Entra
- Подключитесь к параллельным сеансам виртуальной машины в виртуальной сети.
Чтобы войти, используйте один из следующих примеров. После входа на целевую виртуальную машину родной клиент на вашем компьютере откроется вместе с сеансом виртуальной машины.
Пара ключей SSH
Чтобы войти в виртуальную машину с помощью пары ключей SSH, используйте следующий пример.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Проверка подлинности Microsoft Entra
Если вы входите на виртуальную машину, поддерживающую вход через Microsoft Entra, используйте следующий пример. Дополнительные сведения см. в статье о виртуальных машинах Linux Azure и идентификаторе Microsoft Entra.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"
Username/password
Если вы вошли на виртуальную машину с помощью локального имени пользователя и пароля, используйте следующий пример. Затем вам будет предложено ввести пароль для целевой виртуальной машины.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"
SSH-подключение к IP-адресу виртуальной машины Linux
Вы можете подключиться к частному IP-адресу виртуальной машины вместо идентификатора ресурса. Проверка подлинности идентификатора Microsoft Entra и пользовательские порты и протоколы не поддерживаются при использовании этого типа подключения. Дополнительные сведения о подключениях на основе IP-адресов см. в разделе "Подключение к виртуальной машине — IP-адрес".
Используя команду az network bastion, замените --target-resource-id на --target-ip-address и указанный IP-адрес, чтобы подключиться к вашей виртуальной машине. В следующем примере используется ключ --ssh-key для метода проверки подлинности.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Подключение к виртуальной машине — команда "tunnel"
Команда az network bastion tunnel — это еще один способ подключения к виртуальным машинам. При использовании этой команды можно выполнить следующее:
- Подключитесь из нативных клиентов на локальных компьютерах не на базе Windows. (Например, компьютер Linux.)
- Подключитесь к виртуальной машине с помощью SSH или RDP. (Туннель бастиона не переправляет веб-сервера или хосты.)
- Используйте собственный клиент по своему усмотрению.
- Передача файлов на целевую виртуальную машину с локального компьютера.
Limitations:
- Вход с помощью закрытого ключа SSH, хранящегося в Azure Key Vault, не поддерживается с этой функцией. Перед входом на виртуальную машину Linux с помощью пары ключей SSH загрузите закрытый ключ в файл на локальном компьютере.
- Эта функция не поддерживается в Cloud Shell.
Steps:
Войдите в учетную запись Azure с помощью
az login. Если у вас несколько подписок, их можно просмотреть с помощьюaz account listи выбрать подписку, содержащую ресурс Бастиона, с помощьюaz account set --subscription "<subscription ID>".Откройте туннель для целевой виртуальной машины. Без привилегий root используйте локальный порт 1024 или выше, так как порты ниже являются привилегированными и доступны только root.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"Подключитесь к целевой виртуальной машине с помощью SSH или RDP, собственного клиента и порта локального компьютера, указанного на предыдущем шаге.
Например, можно использовать следующую команду, если на локальном компьютере установлен клиент OpenSSH:
ssh <username>@127.0.0.1 -p <LocalMachinePort>
Туннель к IP-адресу виртуальной машины
Вы также можете подключиться к частному IP-адресу виртуальной машины вместо идентификатора ресурса. Проверка подлинности идентификатора Microsoft Entra и пользовательские порты и протоколы не поддерживаются при использовании этого типа подключения. Дополнительные сведения о подключениях на основе IP-адресов см. в разделе "Подключение к виртуальной машине — IP-адрес".
Используя команду az network bastion tunnel, замените --target-resource-id на --target-ip-address и указанный IP-адрес, чтобы подключиться к вашей виртуальной машине.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
Туннель с несколькими подключениями
Добавьте следующую команду в конфигурацию $HOME.ssh\.
Host tunneltunnel HostName 127.0.0.1 Port 2222 User mylogin StrictHostKeyChecking=No UserKnownHostsFile=\\.\NULДобавьте новое подключение туннеля к уже установленному подключению.
az network bastion tunnel --name mybastion --resource-group myrg --target-resource-id /subscriptions/<mysubscription>/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm --resource-port 22 --port 22Создайте туннель ssh в туннеле бастиона.
ssh -L 2222:127.0.0.1:22 [email protected]Используйте VS Code для подключения к туннелю.