【问题标题】:Can we connect to Azure VM remotely which is different Virtual Network我们可以远程连接到不同虚拟网络的 Azure VM
【发布时间】:2019-02-21 10:35:59
【问题描述】:

我有 2 个 Azure VM,例如 VM1VM2。我已经通过 RDP 登录到VM1。现在我的要求是通过powershell从VM1连接到VM2并远程运行一些命令。

当我运行以下命令时:

$UserName = "<IP>\username"
$Password = ConvertTo-SecureString "password@123" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($UserName, $Password)
$s = New-PSSession -ComputerName <IP> -Credential $psCred

它给出了以下错误:

New-PSSession : [] 连接到远程服务器失败并显示以下错误消息:WinRM 无法完成操作。验证指定的计算机名称是否有效,该计算机可通过网络访问,并且 WinRM 服务的防火墙例外已启用并允许从该计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外限制对同一本地子网中的远程计算机的访问。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。

我已经尝试了我在互联网上找到的所有解决方案,但没有一个解决我的问题。

两个虚拟机的虚拟网络/子网不同,都没有公共 IP 和 DNS 名称(这是业务需求,无法更改)。所以我使用私有IP登录。两个VM的位置也不同。

有没有可能是这个原因?

【问题讨论】:

  • 确认一下。这两个虚拟机在不同的子网或 vnet 中?
  • @NancyXiong-MSFT 不同的VNET以及不同的子网

标签: powershell azure-virtual-machine azure-powershell azure-virtual-network


【解决方案1】:

首先,您应该通过虚拟网络面板上的网络对等确认两个不同的虚拟网络连接正在工作。这是Demo

然后,您需要在与该子网关联的 NSG 入站规则中打开端口 5985。此外,暂时在本地关闭防火墙以运行以下脚本。或者,您可以使用以下命令添加传入规则以允许端口 5985 上的流量:

New-NetFirewallRule -Name "winrm_http" -DisplayName "winrm_http" -Enabled True -Profile Any -Action Allow -Direction Inbound -LocalPort 5985 -Protocol TCP

在服务器上

在命令提示符中运行winrm quickconfig命令,分析和配置WinRM服务。运行Enable-PSRemoting -Force,使机器配置为WinRM远程管理。您还可以通过运行netstat -a 检查端口 5985 是否正在侦听。

在客户端

在命令提示符中运行winrm quickconfig 命令来配置 WinRM 服务。将远程机器的 IP 地址添加到远程 PS 客户端中的受信任主机。 Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value 172.18.20.4

然后将您的命令作为屏幕截图运行。

参考:Enable PowerShell Remoting

【讨论】:

  • 如果这有帮助,您可以接受,或者在这种情况下如果您需要更多信息,请告诉我。
  • 感谢您的回复。我正在按照上面链接中给出的全球 VNet 对等互连的步骤进行操作。在第 5 步,当我从另一台机器对一台机器执行 ping 操作时,它说请求超时。
  • 您可以尝试使用私有 ip 从 vm1 rdp 到 vm2 吗?此外,检查您是否在两个 vNet 中都启用了对等互连。
  • 不,我无法从一台 VM 到另一台进行 RDP。是的,我在两个 Vnet 中都启用了对等互连
  • 对等体是什么状态,应该是连接的。而且,在VM本地关闭防火墙,还是同样的错误?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-28
  • 2017-03-17
  • 1970-01-01
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
相关资源
最近更新 更多