本文仅供学习,有问题可联系科劳得在线工程师提供技术服务。

免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

概述

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

详细信息

科劳得提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

无法远程连接Windows实例的原因较多,可通过以下排查方法,排查并解决无法远程连接Windows实例的问题。

  • 步骤一:使用管理终端登录实例
  • 步骤二:检查登录密码
  • 步骤三:检查端口及安全组
  • 步骤四:检查远程桌面服务
  • 步骤五:检查网络
  • 步骤六:检查CPU负载、带宽及内存使用情况
  • 步骤七:检查防火墙配置
  • 步骤八:设置系统的安全策略
  • 步骤九:检查远程终端服务的配置
  • 步骤十:检查杀毒软件
  • 步骤十一:尝试重启实例
  • 常见报错案例

步骤一:使用管理终端登录实例

无论何种原因导致无法远程连接实例,请先尝试用阿里云提供的远程连接功能进行连接,确认实例还有响应,没有完全宕机,然后再按原因分类进行故障排查。

  1. 登录ECS管理控制台,单击左侧导航栏中的实例,在目标实例右侧单击远程连接
  2. 在首次连接或忘记连接密码时,单击修改远程连接密码,修改远程连接的密码。
  3. 然后通过远程连接密码连接实例。

步骤二:登录密码检查

在确保登录密码正确的情况下,确认之前是否曾重置过密码。检查重置实例密码后是否未重启实例,如果存在实例密码修改记录,但无重启实例记录,则参考以下操作步骤重启实例。

  1. 登录ECS管理控制台,单击左侧导航栏中的实例
  2. 在页面顶部的选择对应的地域,目标实例右侧单击更多>实例状态>重启,再单击确定即可。

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

进一步检查端口是否正常,以及安全组规则是否有限制。

  1. 参见如何查看和修改Windows实例远程桌面的默认端口,检查实例远程链接的端口是否被修改。如果登录方式改变或者ECS安全组规则中未放行修改后的端口号,则参考如下步骤放行修改后的端口。

    说明:ECS的安全组规则中默认放行3389端口。修改了远程桌面的端口后,需要在安全组规则中放行修改后的端口号。

    1. 登录ECS管理控制台。
    2. 找到该实例,单击管理进入实例详情页面,在左侧导航栏,单击本实例安全组。找到安全组,单击操作列下的配置规则
    3. 在安全组规则页面,单击添加安全组规则
    4. 在弹出的页面中,端口范围输入修改后的远程桌面端口号。授权对象输入客户端的公网IP地址。比如修改后的远程桌面端口号为4389,则端口范围应输入4389/4389。填写完成后,单击确定
    5. 通过“IP:端口”的方式进行远程桌面连接。连接方式类似如下。
  2. 通过上一步获取的端口,参见以下命令,进行端口测试,判断端口是否正常。如果端口测试失败,请参见使用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 '^]'
  3. 检查Windows远程端口设置是否超出范围,如果超出范围,您需将端口重新修改为0到65535之间,且没有被占用的其它端口,具体操作请参见以下操作。
    1. 登录实例,依次选择开始>运行,输入regedit,然后单击确认
    2. 打开注册表编辑器,依次选择HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp
    3. 双击PortNumber,单击十进制,将原端口由“113322”修改为0到65535之间且不与当前端口冲突的端口,例如5588等端口。

      说明:113322为PortNumber右侧显示的端口号。

    4. 再打开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTenninal ServerWinStationsRDP-Tcp
    5. 双击PortNumber,单击十进制,将原端口“113322”修改为与第3步一致的端口号。
    6. 然后重启主机,确认远程连接成功。

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

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

  1. 使用控制台远程连接功能登录到Windows实例。
  2. 右键单击我的电脑,选择属性>高级系统设置
  3. 系统属性窗口,选择远程选项卡,在远程桌面区域,确认已勾选允许远程连接到此计算机
  4. 用户为了提高系统安全性,有时错误的将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。可通过以下操作进行检查。
    1. 使用控制台远程连接功能登录到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实例。
  1. 在菜单栏选择开始>控制面板 。
  1. 查看方式选择小图标,单击Windows 防火墙
  1. 在Windows防火墙窗口,单击高级设置
  1. 在弹出的窗口中,单击入站规则,在右侧拉至最下方,右键单击远程桌面-用户模式(TCP-In),选择启动规则
  1. 返回上一个页面, 单击Windows防火墙属性
  2. 选择启用(推荐),单击应用

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

更多关于防火墙的设置,请参考设置Windows实例远程连接防火墙。

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

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

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

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

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

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

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

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

异常二:远程桌面会话主机配置连接被禁用

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

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

  1. 用户在使用远程桌面访问Windows实例时,有时会出现如下提示。
  2. 这种情况一般是由于在服务器上安装配置了终端服务器,但是没有配置有效的访问授权导致的。可参见如下两个解决方案处理。
    • Windows服务器远程桌面提示“没有远程桌面授权服务器可以提供许可证”错误
    • 远程登录Windows实例报“远程桌面用户组没有该权限”错误

步骤十:杀毒软件检查

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

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

案例一:安全狗黑名单拦截

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

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

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

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

案例二:安全狗程序异常

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

步骤十一:尝试重启实例

若用阿里云提供的远程连接功能仍无法成功连接实例,请尝试重启实例。重启操作会使实例停止工作,从而中断业务,请谨慎执行。

提示:重启实例前,需给实例创建快照,用于数据备份或者制作镜像。创建快照的方法请参见创建快照。

  1. 登录ECS管理控制台,单击左侧导航栏中的实例
  2. 在页面顶部的选择对应的地域,在目标实例右侧单击更多>实例状态>重启,再单击确认即可。

常见报错案例

  • 协议相关报错常见案例如下。
    • 远程连接Windows系统的ECS实例时提示协议错误
  • 授权相关报错常见案例如下。
    • 启用密码保护共享导致Windows系统远程访问出现“凭据无法工作”错误
    • 远程桌面连接ECS实例时报"连接被拒绝,因为没有授权此用户帐户进行远程登录"错误
    • Windows系统实例中未指定远程桌面授权服务器解决方法
    • Windows 2008系统的ECS实例远程登录时提示“要登录到此远程计算机,您必须被授予允许通过终端服务登录的权限”
  • 桌面无法显示的报错案例如下。
    • Windows系统的ECS实例远程登录后无法显示桌面或显示异常
  • 连接数相关报错案例及说明如下。
    • Windows系统实例远程连接提示"终端服务器超出了最大允许连接"
    • Windows Server实例远程连接数以及License授权服务器的相关说明
  • 配置策略相关报错案例如下。
    • 远程登录Windows Server 2008 R2系统时提示未知的用户名或密码错误

适用于

  • 云服务器ECS

您可联系科劳得在线服务工程师提供技术支持。

科劳得提供以下专业云服务:
上云服务:上云架构设计,大流量高并发架构设计,混合云架构设计,上云迁移,云上容灾,跨国云访问加速等;

安全服务:等保咨询及实施,渗透测试,漏洞扫描,木马查杀,安全加固,应急响应,DDOS/CC防护,勒索病毒防护,安全托管等;

运维服务:Linux系统运维,数据恢复及备份,负载均衡集群搭建及维护,数据库集群搭建及维护,网站运行环境搭建及维护,系统性能调优,中间件性能调优,数据库性能调优,数据库读写分离,分库分表,性能(压力)测试,7*24小时监控及故障应急响应,故障排查,大流量高并发活动护航等。

另外,找科劳得购买阿里云产品有很大优惠哦!详情咨询17155320707(微信同号)