Подключение на виртуальную машину с помощью бастиона и собственного клиента Windows
Эта статья поможет подключиться к виртуальной машине в виртуальной сети с помощью собственного клиента (SSH или RDP) на локальном компьютере Windows. Функция собственного клиента позволяет подключаться к целевым виртуальным машинам через Бастион с помощью Azure CLI и развертывать параметры входа, чтобы включить локальную пару ключей SSH и идентификатор Microsoft Entra. Дополнительные сведения и действия по настройке Бастиона для собственных подключений клиентов см. в разделе "Настройка бастиона" для собственных подключений клиентов. Подключение ions через собственный клиент требует номера SKU бастиона уровня "Стандартный" или более поздней версии.
После настройки Бастиона для поддержки собственного клиента можно подключиться к виртуальной машине с помощью собственного клиента Windows. Метод, используемый для подключения, зависит от клиента, от который вы подключаетесь, и от виртуальной машины, к которой вы подключаетесь. В следующем списке показаны некоторые доступные способы подключения из собственного клиента Windows. Ознакомьтесь с Подключение виртуальными машинами с полным списком с доступными сочетаниями подключений и функций клиента.
- Подключение на виртуальную машину Windows с помощью az network бастиона rdp.
- Подключение на виртуальную машину Linux с помощью az network бастиона ssh.
- Подключение на виртуальную машину с помощью туннеля az network бастиона.
- Передавать и скачивать файлы через RDP.
- Отправка файлов по протоколу SSH с помощью туннеля az network бастиона.
Необходимые компоненты
Прежде чем приступить к работе, убедитесь, что у вас есть следующие необходимые компоненты:
- Установлена последняя версия команд CLI (версия 2.32 или более поздняя). Вы можете обновить интерфейс командной строки для бастиона с помощью
az extension update --name bastion
. См. дополнительные сведения об установке Azure CLI 2.0 и начале работы с Azure CLI 2.0. - Бастион Azure уже развернут и настроен для виртуальной сети. Инструкции см. в разделе "Настройка бастиона" для собственных подключений клиентов.
- Виртуальная машина в виртуальной сети.
- Идентификатор ресурса виртуальной машины. Идентификатор ресурса можно легко найти на портале Azure. Перейдите на страницу "Обзор" для виртуальной машины и щелкните ссылку Представление JSON, чтобы открыть JSON-файл ресурса. Скопируйте идентификатор ресурса вверху страницы в буфер обмена, чтобы использовать его позже при подключении к виртуальной машине.
- Если вы планируете войти на виртуальную машину с помощью учетных данных Microsoft Entra, убедитесь, что виртуальная машина настроена с помощью одного из следующих методов:
- Включите вход Microsoft Entra для виртуальной машины Windows или виртуальной машины Linux.
- Настройте виртуальную машину Windows для присоединения к Microsoft Entra.
- Настройте виртуальную машину Windows для гибридного соединения Microsoft Entra.
Проверка ролей и портов
Убедитесь, что для подключения к виртуальной машине настроены следующие роли и порты.
Обязательные роли
роль читателя на виртуальной машине;
роль читателя на сетевом адаптере с частным IP-адресом для виртуальной машины;
роль читателя для ресурса "Бастион Azure".
Роль входа пользователя виртуальной машины Администратор istrator или роль входа пользователя виртуальной машины, если вы используете метод входа в Microsoft Entra. Это необходимо сделать только в том случае, если вы включаете имя входа Microsoft Entra с помощью процессов, описанных в одной из следующих статей:
Порты
Чтобы подключиться к виртуальной машине Linux с помощью собственного клиента, на виртуальной машине Linux должны быть открыты следующие порты:
- Входящий порт: SSH (22) или.
- Входящий порт: пользовательское значение (при подключении к виртуальной машине через Бастион Azure необходимо указать этот пользовательский порт).
Чтобы подключиться к виртуальной машине Windows с помощью собственного клиента, на виртуальной машине Windows должны быть открыты следующие порты:
- Входящий порт: RDP (3389) или
- Входящий порт: пользовательское значение (при подключении к виртуальной машине через Бастион Azure необходимо указать этот пользовательский порт).
Сведения об оптимальной настройке групп безопасности сети с помощью Бастиона Azure см. в статье Работа с доступом группы безопасности сети и Бастионом Azure.
Подключение к виртуальной машине
Действия, описанные в следующих разделах, помогают подключиться к виртуальной машине из собственного клиента Windows с помощью команды az network bastion .
RDP на виртуальную машину Windows
Когда пользователь подключается к виртуальной машине Windows через RDP, он должен иметь права на целевую виртуальную машину. Если пользователь не является локальным администратором, добавьте пользователя в группу пользователей удаленных рабочих столов на целевой виртуальной машине.
Войдите в учетную запись Azure с помощью
az login
. Если у вас несколько подписок, их можно просмотреть с помощьюaz account list
и выбрать подписку, содержащую ресурс Бастиона, с помощьюaz account set --subscription "<subscription ID>"
.Чтобы подключиться через RDP, используйте следующий пример.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
После выполнения команды появится запрос на ввод учетных данных. Вы можете использовать локальное имя пользователя и пароль или учетные данные Microsoft Entra. После входа на целевую виртуальную машину собственный клиент на компьютере откроется с сеансом виртуальной машины через MSTSC.
Внимание
Удаленное подключение к виртуальным машинам, присоединенным к идентификатору Microsoft Entra, разрешено только с компьютеров с Windows 10 или более поздних версий, зарегистрированных в Microsoft Entra (начиная с Windows 10 20H1), присоединенных к Microsoft Entra, или гибридного подключения Microsoft Entra к тому же каталогу, что и виртуальная машина.
Указание метода проверки подлинности
При необходимости можно также указать метод проверки подлинности в рамках команды.
- Проверка подлинности Microsoft Entra: для Windows 10 версии 20H2+, Windows 11 21H2+ и Windows Server 2022, используйте
--enable-mfa
. Дополнительные сведения см. в статье az network bastion rdp — необязательные параметры.
Указание пользовательского порта
Можно указать пользовательский порт при подключении к виртуальной машине Windows с помощью RDP.
Один из сценариев, в котором это может быть особенно полезно, будет подключаться к виртуальной машине Windows через порт 22. Это потенциальное решение для ограничения с помощью команды az network бастиона ssh , которая не может использоваться собственным клиентом Windows для подключения к виртуальной машине Windows.
Чтобы указать пользовательский порт, включите поле --resource-port в команду входа, как показано в следующем примере.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --resource-port "22"
RDP на IP-адрес виртуальной машины Windows
Вы также можете подключиться к частному IP-адресу виртуальной машины вместо идентификатора ресурса. Проверка подлинности Microsoft Entra, а также пользовательские порты и протоколы не поддерживаются при использовании этого типа подключения. Дополнительные сведения о подключениях на основе IP-адресов см. в разделе Подключение к виртуальной машине — IP-адрес.
Используя команду, замените az network bastion
--target-resource-id
--target-ip-address
на указанный IP-адрес для подключения к виртуальной машине.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>"
SSH на виртуальную машину Linux
Войдите в учетную запись Azure с помощью
az login
. Если у вас несколько подписок, их можно просмотреть с помощьюaz account list
и выбрать подписку, содержащую ресурс Бастиона, с помощьюaz account set --subscription "<subscription ID>"
.Войдите в целевую виртуальную машину Linux с помощью одного из следующих вариантов. Если вы хотите указать настраиваемое значение порта, добавьте поле --resource-port в команду входа.
Идентификатор 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"
Пара ключей SSH:
Расширение можно установить, выполнив команду
az extension add --name ssh
. Чтобы войти с помощью пары ключей SSH, используйте следующий пример.az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Имя пользователя и пароль:
Если вы выполняете вход с помощью локального имени пользователя и пароля, используйте следующую команду. Затем вам будет предложено ввести пароль для целевой виртуальной машины.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"
После входа на целевую виртуальную машину собственный клиент на компьютере откроется с сеансом виртуальной машины с помощью расширения SSH CLI (az ssh).
SSH-адрес виртуальной машины Linux
Вы также можете подключиться к частному IP-адресу виртуальной машины вместо идентификатора ресурса. Проверка подлинности Microsoft Entra, а также пользовательские порты и протоколы не поддерживаются при использовании этого типа подключения. Дополнительные сведения о подключениях на основе IP-адресов см. в разделе Подключение к виртуальной машине — IP-адрес.
Используя команду, замените az network bastion
--target-resource-id
--target-ip-address
на указанный IP-адрес для подключения к виртуальной машине.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
Подключение на виртуальную машину — команда туннеля
Команда az network bastion tunnel — это еще один способ подключения к виртуальным машинам. При использовании этой команды можно выполнить следующее:
- Подключение из собственных клиентов на локальных компьютерах, отличных от Windows. (Например, компьютер Linux.)
- Подключение на виртуальную машину с помощью SSH или RDP. (Туннель бастиона не передает веб-серверы или узлы.)
- Использовать собственный клиент по выбору.
- Отправлять файлы на целевую виртуальную машину с локального компьютера. Скачивание файлов с целевой виртуальной машины на локальный клиент в настоящее время не поддерживается для этой команды.
Ограничения:
- Вход с помощью закрытого ключа SSH, хранящегося в Azure Key Vault, не поддерживается с этой функцией. Перед входом на виртуальную машину Linux с помощью пары ключей SSH скачайте закрытый ключ в файл на локальном компьютере.
- Эта функция не поддерживается в Cloud Shell.
Пошаговые инструкции
Войдите в учетную запись Azure с помощью
az login
. Если у вас несколько подписок, их можно просмотреть с помощьюaz account list
и выбрать подписку, содержащую ресурс Бастиона, с помощьюaz account set --subscription "<subscription ID>"
.Откройте туннель для целевой виртуальной машины.
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 mylogin@127.0.0.1
Используйте VS Code для подключения к туннелю.