Implante VMs em seu dispositivo de GPU do Azure Stack Edge Pro por meio de modelos
APLICA-SE A: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Este tutorial descreve como criar e gerenciar uma VM em seu dispositivo Azure Stack Edge Pro usando modelos. Esses modelos são arquivos JSON (JavaScript Object Notation) que definem a infraestrutura e a configuração para sua VM. Nesses modelos, você especifica os recursos a serem implantados e as propriedades desses recursos.
Os modelos são flexíveis em diferentes ambientes, pois podem tomar parâmetros como entrada em tempo de execução de um arquivo. A estrutura de nomenclatura padrão é TemplateName.json
para o modelo e TemplateName.parameters.json
para o arquivo de parâmetros. Para obter mais informações sobre modelos ARM, vá para O que são modelos do Azure Resource Manager?.
Neste tutorial, usaremos modelos de exemplo pré-escritos para criar recursos. Você não precisará editar o arquivo de modelo e poderá modificar apenas os .parameters.json
arquivos para personalizar a implantação em sua máquina.
Fluxo de trabalho de implantação de VM
Para implantar VMs do Azure Stack Edge Pro em vários dispositivos, você pode usar um único VHD sysprepped para sua frota completa, o mesmo modelo para implantação e apenas fazer pequenas alterações nos parâmetros desse modelo para cada local de implantação (essas alterações podem ser manualmente, como estamos fazendo aqui, ou programáticas).
O resumo de alto nível do fluxo de trabalho de implantação usando modelos é o seguinte:
Configurar pré-requisitos - Existem três tipos de pré-requisitos: dispositivo, cliente e para a VM.
Pré-requisitos do dispositivo
- Conecte-se ao Azure Resource Manager no dispositivo.
- Habilite a computação por meio da interface do usuário local.
Pré-requisitos do cliente
- Baixe os modelos de VM e os arquivos associados no cliente.
- Opcionalmente, configure o TLS 1.2 no cliente.
- Transfira e instale o Microsoft Azure Storage Explorer no seu cliente.
Pré-requisitos da VM
- Crie um grupo de recursos no local do dispositivo que conterá todos os recursos da VM.
- Crie uma conta de armazenamento para carregar o VHD usado para criar a imagem da VM.
- Adicione o URI da conta de armazenamento local ao arquivo DNS ou hosts no cliente que acessa seu dispositivo.
- Instale o certificado de armazenamento de blob no dispositivo e no cliente local que acessa seu dispositivo. Opcionalmente, instale o certificado de armazenamento de blob no Gerenciador de Armazenamento.
- Crie e carregue um VHD para a conta de armazenamento criada anteriormente.
Criar VM a partir de modelos
- Crie uma imagem de VM usando
CreateImage.parameters.json
o arquivo de parâmetros eCreateImage.json
o modelo de implantação. - Crie uma VM com recursos criados anteriormente usando o arquivo de
CreateVM.parameters.json
parâmetros eCreateVM.json
o modelo de implantação.
- Crie uma imagem de VM usando
Pré-requisitos do dispositivo
Configure esses pré-requisitos em seu dispositivo Azure Stack Edge Pro.
Antes de implantar VMs em seu dispositivo Azure Stack Edge, você deve configurar seu cliente para se conectar ao dispositivo por meio do Azure Resource Manager pelo Azure PowerShell. Para obter instruções detalhadas, consulte Conectar-se ao Azure Resource Manager em seu dispositivo Azure Stack Edge.
Certifique-se de que pode utilizar os seguintes passos para aceder ao dispositivo a partir do seu cliente. Você já fez essa configuração quando se conectou ao Gerenciador de Recursos do Azure e agora está verificando se a configuração foi bem-sucedida.
Verifique se a comunicação do Azure Resource Manager está funcionando executando o seguinte comando:
Para chamar as APIs do dispositivo local para autenticação, digite:
Se você configurou a computação para o Kubernetes, poderá ignorar esta etapa. Caso contrário, verifique se você habilitou uma interface de rede para computação fazendo o seguinte:
a. Na interface de usuário local, vá para Configurações de computação .
b. Selecione a interface de rede que você deseja usar para criar um comutador virtual. As VMs criadas serão conectadas a um comutador virtual conectado a essa porta e à rede associada. Certifique-se de escolher uma rede que corresponda ao endereço IP que você usará para a VM.c. Em Ativar para computação na interface de rede, selecione Sim. O Azure Stack Edge criará e gerenciará um comutador virtual que corresponde a essa interface de rede. Não insira IPs específicos para o Kubernetes no momento. Pode levar vários minutos para habilitar a computação.
Nota
Se você estiver criando VMs GPU, selecione uma interface de rede conectada à Internet. Isso permite que você instale uma extensão de GPU no seu dispositivo.
Pré-requisitos do cliente
Configure esses pré-requisitos em seu cliente que serão usados para acessar o dispositivo Azure Stack Edge Pro.
- Transfira o Explorador de Armazenamento se estiver a utilizá-lo para carregar um VHD. Como alternativa, você pode baixar o AzCopy para carregar um VHD. Talvez seja necessário configurar o TLS 1.2 em sua máquina cliente se estiver executando versões mais antigas do AzCopy.
- Transfira os ficheiros de modelos e parâmetros de VM para a máquina cliente. Descompacte-o em um diretório que você usará como um diretório de trabalho.
Pré-requisitos de VM
Configure esses pré-requisitos para criar os recursos necessários para a criação de VM.
Criar um grupo de recursos
Crie um grupo de recursos do Azure com New-AzResourceGroup. Um grupo de recursos é um contêiner lógico no qual os recursos do Azure, como conta de armazenamento, disco, disco gerenciado, são implantados e gerenciados.
Importante
Todos os recursos são criados no mesmo local do dispositivo e o local é definido como DBELocal.
New-AzResourceGroup -Name <Resource group name> -Location DBELocal
Aqui está um exemplo de saída:
PS C:\WINDOWS\system32> New-AzResourceGroup -Name myaserg1 -Location DBELocal
ResourceGroupName : myaserg1
Location : dbelocal
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myaserg1
PS C:\WINDOWS\system32>
Criar uma conta de armazenamento
Crie uma nova conta de armazenamento usando o grupo de recursos criado na etapa anterior. Essa conta é uma conta de armazenamento local que será usada para carregar a imagem de disco virtual para a VM.
New-AzStorageAccount -Name <Storage account name> -ResourceGroupName <Resource group name> -Location DBELocal -SkuName Standard_LRS
Nota
Somente as contas de armazenamento local, como armazenamento com redundância local (Standard_LRS ou Premium_LRS), podem ser criadas por meio do Gerenciador de Recursos do Azure. Para criar contas de armazenamento hierárquico, consulte as etapas em Adicionar, conectar-se a contas de armazenamento no Azure Stack Edge Pro.
Aqui está um exemplo de saída:
PS C:\WINDOWS\system32>New-AzStorageAccount -Name myasesa1 -ResourceGroupName myaserg1 -Location DBELocal -SkuName Standard_LRS
StorageAccountName ResourceGroupName PrimaryLocation SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly
------------------ ----------------- --------------- ------- ---- ---------- ------------ ----------------- ------
myasesa1 myaserg1 DBELocal Standard_LRS Storage 4/18/2022 8:35:09 PM Succeeded False
PS C:\WINDOWS\system32>
Para obter a chave da conta de armazenamento, execute o Get-AzStorageAccountKey
comando. Aqui está um exemplo de saída:
PS C:\WINDOWS\system32> Get-AzStorageAccountKey
cmdlet Get-AzStorageAccountKey at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
ResourceGroupName: myaserg1
Name: myasesa1
KeyName Value Permissions
------- ----- -----------
key1 7a707uIh43qADXvuhwqtw39mwq3M97r1BflhoF2yZ6W9FNkGOCblxb7nDSiYVGQprpkKk0Au2AjmgUXUT6yCog== Full
key2 2v1VQ6qH1CJ9bOjB15p4jg9Ejn7iazU95Qe8hAGE22MTL21Ac5skA6kZnE3nbe+rdiXiORBeVh9OpJcMOfoaZg== Full
PS C:\WINDOWS\system32>
Adicionar URI de blob ao arquivo hosts
Verifique se você já adicionou o URI de blob no arquivo hosts para o cliente que está usando para se conectar ao armazenamento de Blob. Execute o Bloco de Notas como administrador e adicione a seguinte entrada para o URI de blob no C:\windows\system32\drivers\etc\hosts
:
<Device IP> <storage account name>.blob.<Device name>.<DNS domain>
Em um ambiente típico, você teria seu DNS configurado para que todas as contas de armazenamento apontassem para o dispositivo Azure Stack Edge Pro com uma *.blob.devicename.domainname.com
entrada.
(Opcional) Instalar certificados
Ignore esta etapa se você se conectar via Storage Explorer usando http. Se você estiver usando https, precisará instalar os certificados apropriados no Gerenciador de Armazenamento. Nesse caso, instale o certificado de ponto de extremidade blob. Para obter mais informações, consulte como criar e carregar certificados em Gerenciar certificados.
Criar e carregar um VHD
Certifique-se de que tem uma imagem de disco virtual que possa utilizar para carregar no passo posterior. Siga as etapas em Criar uma imagem de VM.
Copie todas as imagens de disco a serem usadas em blobs de página na conta de armazenamento local que você criou nas etapas anteriores. Você pode usar uma ferramenta como o Storage Explorer ou o AzCopy para carregar o VHD para a conta de armazenamento que você criou nas etapas anteriores.
Usar o Gerenciador de Armazenamento para upload
Abra o Explorador de Armazenamento. Vá para Editar e verifique se o aplicativo está definido como APIs de pilha do Azure de destino.
Instale o certificado do cliente no formato PEM. Vá para Editar > certificados de importação de certificados >SSL. Aponte para o certificado do cliente.
Se você estiver usando certificados gerados por dispositivo, baixe e converta o certificado de ponto de extremidade
.cer
de armazenamento de blob para um.pem
formato. Execute o seguinte comando.PS C:\windows\system32> Certutil -encode 'C:\myasegpu1_Blob storage (1).cer' .\blobstoragecert.pem Input Length = 1380 Output Length = 1954 CertUtil: -encode command completed successfully.
Se você estiver trazendo seu próprio certificado, use o certificado raiz da cadeia de assinatura no
.pem
formato.
Depois de importar o certificado, reinicie o Gerenciador de Armazenamento para que as alterações entrem em vigor.
No painel esquerdo, clique com o botão direito do mouse em Contas de armazenamento e selecione Conectar ao Armazenamento do Azure.
Selecione Use a storage account name and key (Utilizar o nome e a chave de uma conta de armazenamento). Selecione Seguinte.
Em Conectar com Nome e Chave, forneça o Nome para exibição, Nome da conta de armazenamento, Chave da Conta de Armazenamento do Azure. Selecione Outro domínio de armazenamento e forneça a cadeia de
<device name>.<DNS domain>
conexão. Se você não instalou um certificado no Gerenciador de Armazenamento, marque a opção Usar HTTP . Selecione Seguinte.Reveja o Resumo da ligação e selecione Ligar.
A conta de armazenamento aparece no painel esquerdo. Selecione e expanda a conta de armazenamento. Selecione Contêineres de Blob, clique com o botão direito do mouse e selecione Criar Contêiner de Blob. Forneça um nome para seu contêiner de blob.
Selecione o contêiner que você acabou de criar e, no painel direito, selecione Carregar > arquivos de carregamento.
Navegue e aponte para o VHD que você deseja carregar nos arquivos selecionados. Selecione Tipo de Blob como blob de página e selecione Carregar.
Depois que o VHD for carregado no contêiner de blob, selecione o VHD, clique com o botão direito do mouse e selecione Propriedades.
Copie e salve o Uri, que você usará em etapas posteriores.
Criar imagem para sua VM
Para criar uma imagem para sua VM, edite o arquivo de CreateImage.parameters.json
parâmetros e implante o modelo CreateImage.json
que usa esse arquivo de parâmetro.
Editar arquivo de parâmetros
O arquivo CreateImage.parameters.json
usa os seguintes parâmetros:
"parameters": {
"osType": {
"value": "<Operating system corresponding to the VHD you upload can be Windows or Linux>"
},
"imageName": {
"value": "<Name for the VM image>"
},
"imageUri": {
"value": "<Path to the VHD that you uploaded in the Storage account>"
},
"hyperVGeneration": {
"type": "string",
"value": "<Generation of the VM, V1 or V2>"
},
}
Edite o arquivo CreateImage.parameters.json
para incluir os seguintes valores para seu dispositivo Azure Stack Edge Pro:
Forneça o tipo de SO e a Geração Hyper V correspondentes ao VHD que irá carregar. O tipo de sistema operacional pode ser Windows ou Linux e a geração de VM pode ser V1 ou V2.
"parameters": { "osType": { "value": "Windows" }, "hyperVGeneration": { "value": "V2" }, }
Altere o URI da imagem para o URI da imagem carregada na etapa anterior:
"imageUri": { "value": "https://myasegpusavm.blob.myasegpu1.wdshcsso.com/windows/WindowsServer2016Datacenter.vhd" },
Se você estiver usando http com o Gerenciador de Armazenamento, altere o URI para um URI http .
Forneça um nome de imagem exclusivo. Esta imagem é usada para criar VM nas etapas posteriores.
Aqui está um exemplo de json que é usado neste artigo.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "osType": { "value": "Linux" }, "hyperVGeneration": { "value": "V1" }, "imageName": { "value": "myaselinuximg" }, "imageUri": { "value": "https://sa2.blob.myasegpuvm.wdshcsso.com/con1/ubuntu18.04waagent.vhd" } } }
Salve o arquivo de parâmetros.
Implementar o modelo
Implante o modelo CreateImage.json
. Este modelo implanta os recursos de imagem que serão usados para criar VMs na etapa posterior.
Nota
Quando você implanta o modelo se receber um erro de autenticação, suas credenciais do Azure para esta sessão podem ter expirado. Execute novamente o login-Az
comando para se conectar ao Azure Resource Manager em seu dispositivo Azure Stack Edge Pro novamente.
Execute o seguinte comando:
$templateFile = "Path to CreateImage.json" $templateParameterFile = "Path to CreateImage.parameters.json" $RGName = "<Name of your resource group>" New-AzResourceGroupDeployment ` -ResourceGroupName $RGName ` -TemplateFile $templateFile ` -TemplateParameterFile $templateParameterFile ` -Name "<Name for your deployment>"
Este comando implanta um recurso de imagem.
Para consultar o recurso, execute o seguinte comando:
Get-AzImage -ResourceGroupName <Resource Group Name> -name <Image Name>
Aqui está um exemplo de saída:
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateImage\CreateImage.json" PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateImage\CreateImage.parameters.json" PS C:\WINDOWS\system32> $RGName = "myaserg1" PS C:\WINDOWS\system32> New-AzResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment1" DeploymentName : deployment1 ResourceGroupName : myaserg1 ProvisioningState : Succeeded Timestamp : 4/18/2022 9:24:26 PM Mode : Incremental TemplateLink : Parameters : Name Type Value =============== ========================= ========== osType String Linux imageName String myaselinuximg1 imageUri String https://myasepro2stor.blob.dm1176047910p.wdshcsso.com/myasepro2cont1/ubuntu13.vhd Outputs : DeploymentDebugLogLevel : PS C:\WINDOWS\system32>
Criar VM
Editar arquivo de parâmetros para criar VM
Para criar uma VM, utilize o ficheiro de parâmetros CreateVM.parameters.json
. Ele leva os seguintes parâmetros.
"vmName": {
"value": "<Name for your VM>"
},
"adminUsername": {
"value": "<Username to log into the VM>"
},
"Password": {
"value": "<Password to log into the VM>"
},
"imageName": {
"value": "<Name for your image>"
},
"vmSize": {
"value": "<A supported size for your VM>"
},
"vnetName": {
"value": "<Name for the virtual network, use ASEVNET>"
},
"subnetName": {
"value": "<Name for the subnet, use ASEVNETsubNet>"
},
"vnetRG": {
"value": "<Resource group for Vnet, use ASERG>"
},
"nicName": {
"value": "<Name for the network interface>"
},
"privateIPAddress": {
"value": "<Private IP address, enter a static IP in the subnet created earlier or leave empty to assign DHCP>"
},
"IPConfigName": {
"value": "<Name for the ipconfig associated with the network interface>"
}
Atribua parâmetros apropriados para CreateVM.parameters.json
seu dispositivo Azure Stack Edge Pro.
Forneça um nome exclusivo, um nome da interface de rede e um nome ipconfig.
Insira um nome de usuário, senha e um tamanho de VM compatível.
Quando você habilitou a interface de rede para computação, um comutador virtual e uma rede virtual foram criados automaticamente nessa interface de rede. Você pode consultar a rede virtual existente para obter o nome Vnet, o nome da sub-rede e o nome do grupo de recursos Vnet.
Execute o seguinte comando:
Get-AzVirtualNetwork
Aqui está a saída de exemplo:
PS C:\WINDOWS\system32> Get-AzVirtualNetwork Name : ASEVNET ResourceGroupName : ASERG Location : dbelocal Id : /subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/ASERG/providers/Microsoft .Network/virtualNetworks/ASEVNET Etag : W/"990b306d-18b6-41ea-a456-b275efe21105" ResourceGuid : f8309d81-19e9-42fc-b4ed-d573f00e61ed ProvisioningState : Succeeded Tags : AddressSpace : { "AddressPrefixes": [ "10.57.48.0/21" ] } DhcpOptions : null Subnets : [ { "Name": "ASEVNETsubNet", "Etag": "W/\"990b306d-18b6-41ea-a456-b275efe21105\"", "Id": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/ASERG/provider s/Microsoft.Network/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet", "AddressPrefix": "10.57.48.0/21", "IpConfigurations": [], "ResourceNavigationLinks": [], "ServiceEndpoints": [], "ProvisioningState": "Succeeded" } ] VirtualNetworkPeerings : [] EnableDDoSProtection : false EnableVmProtection : false PS C:\WINDOWS\system32>
Use ASEVNET para nome Vnet, ASEVNETsubNet para nome de sub-rede e ASERG para nome de grupo de recursos Vnet.
Agora você precisará de um endereço IP estático para atribuir à VM que está na rede de sub-rede definida acima. Substitua PrivateIPAddress por este endereço no arquivo de parâmetro. Para que a VM obtenha um endereço IP do seu servidor DCHP local, deixe o
privateIPAddress
valor em branco."privateIPAddress": { "value": "5.5.153.200" },
Salve o arquivo de parâmetros.
Aqui está um exemplo de json usado neste artigo.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "vmName": { "value": "vm1" }, "adminUsername": { "value": "Administrator" }, "Password": { "value": "Password1" }, "imageName": { "value": "myaselinuximg1" }, "vmSize": { "value": "Standard_NC4as_T4_v3" }, "vnetName": { "value": "vswitch1" }, "subnetName": { "value": "vswitch1subNet" }, "vnetRG": { "value": "myaserg1" }, "nicName": { "value": "nic1" }, "privateIPAddress": { "value": "" }, "IPConfigName": { "value": "ipconfig1" } } }
Implantar modelo para criar VM
Implante o modelo CreateVM.json
de criação de VM . Este modelo cria uma interface de rede a partir da VNet existente e cria VM a partir da imagem implantada.
Execute o seguinte comando:
Command: $templateFile = "<Path to CreateVM.json>" $templateParameterFile = "<Path to CreateVM.parameters.json>" $RGName = "<Resource group name>" New-AzResourceGroupDeployment ` -ResourceGroupName $RGName ` -TemplateFile $templateFile ` -TemplateParameterFile $templateParameterFile ` -Name "<DeploymentName>"
A criação da VM levará de 15 a 20 minutos. Aqui está um exemplo de saída de uma VM criada com êxito:
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateVM\CreateVM.json" PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateVM\CreateVM.parameters.json" PS C:\WINDOWS\system32> $RGName = "myaserg1" PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "Deployment2" DeploymentName : Deployment2 ResourceGroupName : myaserg1 ProvisioningState : Succeeded Timestamp : 04/18/2022 1:51:28 PM Mode : Incremental TemplateLink : Parameters : Name Type Value =============== ========================= ========== vmName String vm1 adminUsername String Administrator password String Password1 imageName String myaselinuximg vmSize String Standard_NC4as_T4_v3 vnetName String vswitch1 vnetRG String myaserg1 subnetName String vswitch1subNet nicName String nic1 ipConfigName String ipconfig1 privateIPAddress String Outputs : DeploymentDebugLogLevel : PS C:\WINDOWS\system32
Você também pode executar o comando de forma assíncrona com
–AsJob
oNew-AzResourceGroupDeployment
parâmetro. Aqui está um exemplo de saída quando o cmdlet é executado em segundo plano. Em seguida, você pode consultar o status do trabalho criado usando oGet-Job
cmdlet.PS C:\WINDOWS\system32> New-AzResourceGroupDeployment ` >> -ResourceGroupName $RGName ` >> -TemplateFile $templateFile ` >> -TemplateParameterFile $templateParameterFile ` >> -Name "Deployment4" ` >> -AsJob Id Name PSJobTypeName State HasMoreData Location Command -- ---- ------------- ----- ----------- -------- ------- 4 Long Running... AzureLongRun... Running True localhost New-AzureRmResourceGro... PS C:\WINDOWS\system32> Get-Job -Id 4 Id Name PSJobTypeName State HasMoreData Location Command -- ---- ------------- ----- ----------- -------- -------
Verifique se a VM foi provisionada com êxito. Execute o seguinte comando:
Get-AzVm
Ligar a uma VM
Dependendo se você criou uma VM Windows ou Linux, as etapas para se conectar podem ser diferentes.
Conectar-se à VM do Windows
Siga estas etapas para se conectar a uma VM do Windows.
Conecte-se à sua VM do Windows usando o protocolo RDP (Remote Desktop Protocol) por meio do IP que você passou durante a criação da VM.
No seu cliente, abra o RDP.
Vá para Iniciar e digite mstsc.
No painel Conexão de Área de Trabalho Remota , insira o endereço IP da VM e as credenciais de acesso usadas no arquivo de parâmetros de modelo de VM. Em seguida, selecione Conectar.
Nota
Talvez seja necessário aprovar a conexão a uma máquina não confiável.
Agora você está conectado à sua VM que é executada no dispositivo.
Conectar-se à VM Linux
Siga estas etapas para se conectar a uma VM Linux.
Ligue-se à VM através do IP privado que transmitiu durante a criação da VM.
Abra uma sessão SSH para se conectar com o endereço IP.
ssh -l <username> <ip address>
No prompt, forneça a senha que você usou quando criou a VM.
Se você precisar fornecer a chave SSH, use este comando.
ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236
Aqui está um exemplo de saída quando você se conecta à VM:
PS C:\WINDOWS\system32> ssh -l myazuser "10.126.76.60" The authenticity of host '10.126.76.60 (10.126.76.60)' can't be established. ECDSA key fingerprint is SHA256:V649Zbo58zAYMKreeP7M6w7Na0Yf9QPg4SM7JZVV0E4. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.126.76.60' (ECDSA) to the list of known hosts. myazuser@10.126.76.60's password: Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-1013-azure x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information disabled due to load higher than 1.0 Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 284 packages can be updated. 192 updates are security updates. The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. myazuser@myazvmfriendlyname:~$ client_loop: send disconnect: Connection reset PS C:\WINDOWS\system32>