Article / 文章中心

无法远程连接Windows实例的处理方法

发布时间:2021-01-25 点击数:493

点击查看原图

概述

本文主要介绍无法远程连接Windows实例的处理方法。

 

无法远程连接Windows实例的原因较多,请您根据实际情况,通过相应的排查方法,排查并解决无法远程连接Windows实例的问题。

 

 

需要快速登录Windows实例

如果您遇到的情况比较紧急,需要尽快登录Windows实例,请参见以下操作步骤,先检查ECS实例的状态,然后通过云助手向Windows实例发送命令或通过VNC登录,具体步骤如下:

步骤一:检查ECS实例的状态

无论何种原因导致无法远程登录ECS实例,请先检查实例的状态。只有当ECS实例为运行中状态时,才能对外提供业务访问。检查步骤如下:

  1. 登录云服务器管理控制台。
  2. 单击左侧导航栏中的实例,查看目标实例的状态
    • 目标实例不是运行中的状态,请参见ECS实例生命周期,根据实例的状态,选择对应的解决方案。
    • 目标实例是运行中的状态,请参见下一步继续操作。
步骤二:通过阿里云云助手向Windows实例发送命令

请尝试通过阿里云云助手向Windows实例发送命令。云助手的使用步骤如下:

  1. 登录云服务器管理控制台。
  2. 单击左侧导航栏中的实例,在实例列表找到您需要远程登录的目标实例,单击远程连接,在弹出的页面中选择发送远程命令(云助手)的方式。
  3. 输入您需要执行的命令后单击执行按钮,即可在未登录Linux实例的情况下执行命令。
步骤三:通过阿里云VNC工具进行远程登录

如果云助手无法使用或者无法满足您的使用需求,您还可以通过阿里云VNC工具进行远程登录,使用方法如下:

  1. 登录云服务器管理控制台。
  2. 单击左侧导航栏中的实例,在实例列表找到您需要远程登录的目标实例,单击远程连接,在弹出的页面中选择VNC远程连接的方式。
  3. 输入VNC远程连接密码即可登录。
    注意
    • 在首次连接或忘记VNC密码时,请单击修改远程连接密码,修改VNC的密码后重试。
    • 通过VNC登录Windows实例后,需要输入Windows实例的用户名和密码。如果您忘记了Windows实例的密码,请重置Windows实例的密码,详情请参见重置实例登录密码,重置实例登录密码后需要重启ECS实例。

远程连接失败时没有明确的报错信息

在远程连接失败时,如果您没有收到系统返回的报错信息,请参见检查ECS实例的状态,确认ECS实例是运行中的状态,然后再根据以下步骤进行排查:

步骤一:使用阿里云Workbench工具测试远程登录

通过阿里云提供的Workbench工具进行远程登录,Workbench工具在远程登录出现异常时会返回具体的错误信息及解决方案。测试步骤如下:

  1. 登录云服务器管理控制台。
  2. 单击左侧导航栏中的实例,在实例列表中找到您需要远程登录的目标实例,单击远程连接,在弹出的页面中选择Workbench远程连接的方式。
  3. Workbench工具将自动填充登录目标实例所需的基本信息,请确认基本信息的正确性并输入登录的用户名和认证信息。并根据以下结果进行处理:
    • 如仍然无法登录,Workbench工具会返回错误提示和解决方案,请根据系统提示进行处理。处理完毕后重新使用Workbench工具进行远程登录测试。为了便于您解决问题,以下列举Workbench工具使用时常见的异常问题:
      • Workbench工具远程连接Windows实例时提示连接超时
      • Workbench远程连接Windows实例时提示“请检查地址、端口、用户名、密码等信息是否填写正确”
    • 如可以通过Workbench工具正常登录,但无法通过本地服务器远程登录,说明远程连接的端口及服务正常,您可以自行排查,详情请参见远程连接的常见问题和ECS实例操作系统内部(GuestOS)常见问题与修复方案。

步骤二:检查是否有收到黑洞通知

请检查是否有收到黑洞通知,黑洞期间无法支持公网访问服务器,详情请参阿里云黑洞策略。

步骤三:端口及安全组检查

进一步检查安全组规则是否有限制,具体操作如下:

  1. 登录云服务器管理控制台。
  2. 找到该实例,单击管理进入实例详情页面,在左侧导航栏,单击本实例安全组。找到安全组,单击操作列下的配置规则
  3. 选择安全组规则的规则方向。
  4. 安全组规则页面上,您可以选择以下任意一种方式添加安全组规则,详情请参见添加安全组规则。
    • 方式一:快速添加安全组规则
      • 授权策略:允许
      • 端口范围:RDP(3389)
      • 授权对象:0.0.0.0/0(代表所有IP访问)
    • 方式二:手动添加安全组规则
      • 授权策略:允许
      • 优先级:1(代表安全规则中优先级最高,数字越小优先级越高)
      • 协议类型:自定义(TCP)
      • 端口范围:如果自定义远程端口为33899,则设置为33899
      • 授权对象:0.0.0.0/0(代表所有IP访问)
  5. 通过“IP:端口”的方式进行远程桌面连接。连接方式类似如下。
  6. 通过上一步获取的端口,参见以下命令,进行端口测试,判断端口是否正常。如果端口测试失败,请参见使用ping命令正常但端口不通时的端口可用性探测说明进行排查。
    telnet [$IP] [$Port]
    说明
    • [$IP]指Windows实例的IP地址。
    • [$Port]指Windows实例的RDP端口号。
    系统显示类似如下,比如执行telnet 192.168.0.1 4389命令,正常情况下返回结果类似如下。
    Trying 192.168.0.1 ...
    Connected to 192.168.0.1  4389.
    Escape character is '^]'

步骤四:本地公网IP被云安全中心拦截

如果在一个客户端网络连接ECS服务器多次输入错误的登录信息,就会导致此IP远程登录ECS的请求被拦截,此类情况可以在云安全中心的设置中,添加本地IP至白名单,这样就不会对本地IP远程登录此服务器进行拦截,具体操作如下:

  1. 登录阿里云云安全中心控制台。
  2. 在左侧导航栏单击设置
  3. 设置页签的安全管控模块,单击配置,跳转至安全管控控制台。安全管控配置
  4. 白名单管理IP白名单页面,配置IP白名单

步骤五:远程桌面服务检查

您可以查看Windows服务器的系统是否开启了远程桌面服务。具体操作如下:

  1. 使用控制台远程连接功能登录到Windows实例。
  2. 右键单击我的电脑,选择属性>高级系统设置
  3. 系统属性窗口,选择远程选项卡,在远程桌面区域,确认已勾选允许远程连接到此计算机,单击确定
  4. 开始菜单中单击管理工具>组件服务>服务(本地),在右侧的菜单窗口中找到Remote Desktop Services服务,检查是否启动,如果没有启动,则需启动。
  5. 用户为了提高系统安全性,有时错误的将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。可通过以下操作进行检查。
    1. 通过VNC远程连接功能登录到Windows实例。
    2. 选择开始>运行。 输入msconfig,单击确定。 
    3. 在弹出的窗口中,选择常规选项卡,选择正常启动,单击确定,然后重启服务器即可。 

步骤六:网络检查

无法正常远程连接Windows实例时,需要先检查网络是否正常。

  1. 用其他网络环境中(不同网段或不同运营商)的电脑连接对比测试,判断是本地网络问题还是服务器端的问题。如果是本地网络问题或运营商问题,请联系本地IT人员或运营商解决。如果是网卡驱动存在异常,则重新安装。排除本地网络故障后进行下一步检查。
  2. 在客户端使用ping命令测试与实例的网络连通性。
    • 网络异常时,请参见网络异常时如何抓取数据包进行排查。
    • 当出现ping丢包或ping不通时,请参使用ping命令丢包或不通时的链路测试方法进行排查。
    • 如果出现间歇性丢包,ECS实例的网络一直处于不稳定状态时,请参使用ping命令测试ECS实例的IP地址间歇性丢包进行解决。
  3. 在实例中使用ping命令测试与客户端的连通性,提示“一般故障”的错误,请参Windows实例ping外网地址提示“一般故障”进行解决。

步骤七:检查CPU负载、带宽及内存使用情况

  • 确认是否存在CPU负载过高的情况,如果存在,则参考本步骤解决问题,如果不存在,则执行下一步步骤。
    • 检查CPU负载过高时,通过实例详情页面的终端登录实例,检查后台是否正在执行Windows Update操作。
    • 运行Windows Update来安装最新的微软安全补丁。
    • 若应用程序有大量的磁盘访问、网络访问行为、高计算需求,CPU负载过高是正常结果。您可以尝试升配实例规格来解决资源瓶颈问题。
    • CPU负载过高的解决方法,请参见Windows系统ECS实例的CPU使用率较高的解决方法。
  • 无法远程连接可能是公网带宽不足导致的,具体排查方法如下。可通过续费ECS实例,然后重启实例解决。详情请参见手动续费,或者请参见自动续费。

    1. 登录ECS管理控制台。
    1. 找到该实例, 单击管理进入实例详情页面,查看监控信息数据。
    1. 检查服务器带宽是否为“1k”或“0k”。如果购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成“1k”。
  • 远程连接输入用户密码登录后,不能正常显示桌面直接退出,也没有错误信息。这种情况可能是服务器内存不足导致的,需要查看一下服务器的内存使用情况。具体操作如下。
    1. 使用控制台远程连接功能登录到Windows实例。
    1. 选择开始>控制面板>管理工具,双击事件查看器。查看一下是否有内存资源不足的警告日志信息。如有日志信息提示内存不足,具体解决方法参考Windows 虚拟内存不足问题的处理。

步骤八:防火墙配置检查

您只有在已授权可关闭防火墙的情况下,才能进行该项排查。确认防火墙是否已关闭,如果没有关闭,则通过调整防火墙配置策略修复,具体操作请参见如何配置Windows实例远程连接的防火墙。完成操作后,请再进行远程连接,确认连接成功。本文以Windows Server 2012初次登录开启防火墙为例。新购的Windows 2012实例,首次连接服务器是可以的。连接服务器并激活系统后,会提示如下图片中的信息,用户需要单击,如果单击,服务器会自动开启公网的防火墙,连接会直接断开。此问题可参考以下步骤进行解决。

  1. 使用控制台远程连接功能登录到Windows实例。
  2. 在菜单栏选择开始>控制面板 。
  3. 查看方式选择小图标,单击Windows 防火墙。 
  4. 在Windows防火墙窗口,单击高级设置
  5. 在弹出的窗口中,单击入站规则,在右侧拉至最下方,右键单击远程桌面-用户模式(TCP-In),选择启动规则。 
  6. 返回上一个页面, 单击Windows防火墙属性。 
  7. 选择启用(推荐),单击应用

    说明:建议将域配置文件专用配置文件公用配置文件选项卡下的防火墙全部启用。

步骤九:系统的安全策略设置

您可以查看Windows服务器上是否有阻止远程桌面连接的相关安全策略。具体操作如下。

  1. 使用控制台远程连接功能登录到Windows实例。
  2. 选择开始>控制面板>管理工具,双击本地安全策略。 
  3. 在弹出的窗口中,单击IP安全策略,查看是否有相关的安全策略。
  4. 如果有,右键单击相关策略,选择删除,或双击该IP的安全策略来重新配置以允许远程桌面连接。然后再使用远程桌面连接。 

步骤十:远程终端服务的配置检查

无法连接Windows实例远程桌面可能是由于以下远程终端服务的配置异常而导致。

异常一:服务器侧自签名证书损坏

客户端如果是Windows 7以上版本的系统,会尝试与服务器建立TLS连接。若服务器侧用于TLS连接的自签名证书损坏,则会导致远程连接失败。

  1. 使用控制台远程连接功能登录到Windows实例。
  2. 选择开始>管理工具>远程桌面服务,然后双击远程桌面会话主机配置。 
  3. 选择RDP-Tcp,在RDP-Tcp属性窗口,将安全层修改成RDP安全层。 
  4. 在操作栏单击禁用连接,再单击启用连接即可。 
异常二:远程桌面会话主机配置连接被禁用

使用netstat命令查询,发现端口未正常监听。使用控制台远程连接功能登录到Windows实例后,发现远程桌面RDP连接属性配置文件被禁用。参见服务器侧自签名证书损坏,找到RDP连接属性配置文件,如果RDP-Tcp被禁用,单击启用连接即可。

异常三:终端服务器角色配置

用户在使用远程桌面访问Windows实例时,有时会出现如下提示。

这种情况一般是由于在服务器上安装配置了终端服务器,但是没有配置有效的访问授权导致的。可参见以下三种解决方案处理:

  • Windows服务器远程桌面提示“没有远程桌面授权服务器可以提供许可证”错误
  • 远程登录Windows实例报“远程桌面用户组没有该权限”错误
  • 如果是安装了终端服务器角色导致的,需要登录服务器鼠标右键单击计算机,选择管理>角色>删除角色

步骤十一:杀毒软件检查

无法连接远程桌面可能是由于第三方杀毒软件设置导致,可通过以下方法进行解决。此处列举两个安全狗配置导致远程访问失败的解决案例。

  • 如果杀毒软件在后台执行,可通过实例详情页面的终端登录,将杀毒软件升级至最新版本或者直接删除。
  • 请使用商业版杀毒软件,或者使用Microsoft Safety Scanner微软免费安全工具,在安全模式下扫描杀毒,相关信息请参见安全扫描程序。
案例一:安全狗黑名单拦截

如果安装了安全狗后,出现以下情况,请确认防护软件中是否做了安全设置或对应的拦截。

  • 客户端本地无法远程桌面连接Windows实例,但其他区域可以远程连接。
  • 无法ping通服务器IP地址,且通过tracert命令跟踪路由,发现无法到达服务器。
  • 云盾未拦截本地公网IP地址。

可打开服务器安全狗进行检查,选择网络防火墙。单击超级黑名单规则设置,如果黑名单中存在实例公网IP,则将此黑名单规则删除,然后将公网IP添加到超级白名单

说明:如果云盾的阈值设置过低,则可能拦截实例公网IP。建议把清洗阈值调高,避免出现拦截实例公网IP的情况发生,具体请参见DDoS基础防护。

案例二:安全狗程序异常

使用控制台远程连接功能登录到Windows实例后,在系统桌面右下角,安全狗弹出错误提示,系统显示类似如下。该问题可能是由于安全狗软件出现异常导致的。可通过Windows系统卸载安全狗软件后,重启服务器,网络即可恢复。