Como estabelecer uma sessão remota do PowerShell com um endereço IP público de um Azure vm?

1

Estou tentando obter uma sessão remota do PowerShell para um Windows Server 2016 implantado no Azure por meio de seu endereço IP público (inicialmente eu estava tentando configurar o gateway de ferramentas de gerenciamento do servidor, mas não consigo trabalhar mesmo entre duas servidores recentemente implantados).

Eu tenho dois servidores (destino 10.0.0.4 e fonte 10.0.0.5 ) conectados à mesma sub-rede e posso conectar da origem ao destino na rede local ( 10.0.0.0 ):

PS C:\> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "10.0.0.4" -Concatenate -Force
PS C:\> Enter-PSSession -ComputerName 10.0.0.4 -Credential (Get-Credential)

cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Credential
[10.0.0.4]: PS C:\Users\techraf\Documents> exit

Se, no entanto, tentar usar o endereço IP público do alvo, a conexão será recusada:

PS C:\> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "13.85.78.151" -Concatenate -Force
PS C:\> Enter-PSSession -ComputerName 13.85.78.151 -Credential (Get-Credential)

cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Credential
Enter-PSSession : Connecting to remote server 13.85.78.151 failed with the following error message : WinRM cannot
complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the
network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By
default, the WinRM firewall exception for public profiles limits access to remote computers within the same local
subnet. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ Enter-PSSession -ComputerName 13.85.78.151 -Credential (Get-Credentia ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (13.85.78.151:String) [Enter-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId : CreateRemoteRunspaceFailed

Antes de tentar, tenho:

  • criou uma regra de entrada no NSG para as portas TCP 5985 e 5986 (para toda a Internet)
  • desativado (completamente, para um teste) firewall do Windows no sistema de destino

Também verifiquei as portas de destino com nmap da máquina de origem e, enquanto 5985 está aberto, 5986 está fechado (incluindo a conexão na rede 10.0.0.0 ).

Há mais alguma coisa necessária para que isso funcione?

    
por techraf 20.11.2016 / 12:18

1 resposta

1

Qual modo você usa ao implantar as VMs? Se for o ASM (gerenciamento de serviços do Azure), tente implantar as duas VMs em diferentes serviços de nuvem.

Eu testei isso no ARM (gerenciador de recursos do Azure), o WinRM funciona quando eu só abro a porta TCP 5985.

•disabled (completely, for a test) Windows firewall on the target system

Como você desativou o firewall? Por favor, não pare os serviços, o que pode causar um comportamento inesperado do firewall. Precisamos desativar o firewall com a GUI.

I also checked the target ports with nmap from the source machine, and while 5985 is open, 5986 is closed (including connection on 10.0.0.0 network).

Você precisa realizar uma captura de rede no servidor de destino para localizar o processo detalhado dessa comunicação.

  1. Se o servidor de destino não receber a solicitação do cliente, O NSG ou alguns firewalls externos estão bloqueando essa conexão.
  2. Se o servidor de destino receber a solicitação e não enviar de volta um resposta, então precisamos verificar se o serviço WinRM recebe o pedido, verificando o log de eventos.
  3. Se não houver nada registrado no log de eventos, isso significa que algo no servidor de destino está bloqueando a conexão. Caso contrário, o WinRM O serviço deve registrar o motivo pelo qual ele elimina a solicitação.
por 22.11.2016 / 06:56