在远程连接失败时,如果您没有收到系统返回的报错信息,并且ECS实例是运行中的状态,然后再根据以下步骤进行排查:
步骤一:使用阿里云Workbench工具测试远程登录
步骤二:检查是否有收到黑洞通知
步骤三:检查端口及安全组
步骤四:本地公网IP被云安全中心拦截
步骤五:检查防火墙配置
步骤六:检查远程桌面服务
步骤七:检查远程终端服务配置
步骤八:检查网络
步骤九:检查CPU负载、带宽及内存使用情况
步骤十:检查系统的安全策略设置
步骤十一:检查杀毒软件
步骤十二:Windows注册表配置异常
步骤十三:Windows RDP自签证书到期
步骤一:使用阿里云Workbench工具测试远程登录
通过阿里云提供的Workbench工具进行远程登录,Workbench工具在远程登录出现异常时会返回具体的错误信息及解决方案。测试步骤如下:
-
登录ECS管理控制台。
-
在左侧导航栏,选择实例与镜像 > 实例。
-
在顶部菜单栏左上角处,选择地域。
-
在实例列表页面,找到需要连接的实例,单击该实例对应操作列下的远程连接。
-
在弹出的远程与命令对话框中,单击Workbench远程连接对应的立即登录。
-
Workbench工具将自动填充登录目标实例所需的基本信息,请确认基本信息的正确性并输入登录的用户名和认证信息。并根据以下结果进行处理:
-
如仍然无法登录,Workbench工具会返回错误提示和解决方案,请根据系统提示进行处理。处理完毕后重新使用Workbench工具进行远程登录测试。
-
如可以通过Workbench工具正常登录,但无法通过本地服务器远程登录,说明远程连接的端口及服务正常,您可以自行排查。
-
步骤二:检查是否有收到黑洞通知
请检查是否有收到黑洞通知,黑洞期间无法支持公网访问服务器。
步骤三:检查端口及安全组
检查安全组规则是否有限制,具体操作如下:
-
登录ECS管理控制台。
-
在顶部菜单栏左上角处,选择地域。
-
在实例列表页面,单击对应的实例ID。
-
在实例详情页面,单击安全组页签,在安全组列表区域,单击操作列的配置规则。
-
选择安全组规则方向。
-
在安全组规则页面,您可以选择以下任意一种方式添加安全组规则。
-
方式一:快速添加安全组规则
-
授权策略:允许
-
端口范围:RDP(3389)
-
授权对象:0.0.0.0/0(代表所有IP访问)
-
-
方式二:手动添加安全组规则
-
授权策略:允许
-
优先级:1(代表安全规则中优先级最高,数字越小优先级越高)
-
协议类型:自定义(TCP)
-
端口范围:如果自定义远程端口为33899,则设置为33899
-
授权对象:0.0.0.0/0(代表所有IP访问)
-
-
-
通过
IP:端口
的方式进行远程桌面连接。连接方式类似如下。 -
使用以下命令,进行端口测试,判断端口是否正常。
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远程登录此服务器进行拦截,具体操作如下:
-
登录云安全中心控制台。
-
在左侧导航栏,选择系统配置 > 功能设置。
-
在设置页签的其它配置子页签,单击安全管控区域的配置,跳转至安全管控控制台。
-
在左侧导航栏,选择白名单管理 > IP白名单。
-
在IP白名单页面,单击添加。
步骤五:检查防火墙配置
说明
只有在已授权可关闭防火墙的情况下,才能进行该项排查。请确认防火墙是否已关闭,如果没有关闭,则通过调整防火墙配置策略修复。
-
使用VNC方式登录Windows实例。
-
在菜单栏选择开始>控制面板。
-
查看方式选择小图标,单击Windows 防火墙。
-
在Windows防火墙界面,单击高级设置。
-
启用防火墙配置。
-
在高级安全 Windows 防火墙,单击Windows防火墙属性。
-
选择启用(推荐),单击应用(A)。
建议将域配置文件、专用配置文件、公用配置文件选项卡下的防火墙全部启用。
-
-
在高级安全 Windows 防火墙,单击入站规则,在右侧拉至最下方,右键单击远程桌面-用户模式(TCP-In),选择启动规则(E)。
步骤六:检查远程桌面服务
您可以查看Windows服务器的系统是否开启了远程桌面服务。具体操作如下:
-
使用VNC方式登录Windows实例。
-
右键单击开始菜单,单击系统。
-
在系统界面,单击远程设置。
-
在远程桌面区域,选中允许远程连接到此计算机(L),单击确定。
-
启动Remote Desktop Services服务。
在开始菜单中,选择管理工具>组件服务>服务(本地),在右侧的菜单窗口中找到Remote Desktop Services服务,检查是否启动,如果没有启动,则需启动。
-
加载远程桌面服务所依赖的驱动和服务。
为了提高系统安全性,有时错误地将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。可通过以下操作进行检查。
-
右键单击开始菜单,单击运行,输入
msconfig
,单击确定。 -
在系统配置对话框中,单击常规页签,选中正常启动(N),单击确定。
-
重启ECS实例。
-
步骤七:检查远程终端服务配置
无法连接Windows实例的远程桌面可能是由于以下远程终端服务的配置异常。
说明
本示例以Windows Server 2008为例,其他Windows Server版本操作类似。
异常一:服务器侧自签名证书损坏
本地客户端如果是Windows 7以上版本的系统,会尝试与云服务器ECS建立TLS连接。若云服务器ECS侧用于TLS连接的自签名证书损坏,则会导致远程连接失败。
-
使用VNC方式登录Windows实例。
-
选择开始>管理工具>远程桌面服务>远程桌面会话主机配置。
-
在连接区域,右键单击RDP-Tcp,然后单击属性。
-
在RDP-Tcp属性窗口,将安全层修改成RDP安全层,单击确定。
-
在操作区域,单击禁用连接,再单击启用连接。
异常二:远程桌面会话主机配置连接被禁用
使用netstat
命令查询,发现端口未正常监听。
使用VNC方式登录Windows实例后,发现远程桌面RDP连接属性配置文件被禁用,重新启用RDP-Tcp连接即可。
异常三:终端服务器角色配置
在使用远程桌面访问Windows实例时,可能会出现如下提示。
这种情况一般是由于在服务器上安装配置了终端服务器,但是没有配置有效的访问授权导致的,可参考以下三种解决方案处理:
-
Windows服务器远程桌面提示“没有远程桌面授权服务器可以提供许可证”错误
-
远程登录Windows实例报“远程桌面用户组没有该权限”错误
-
如果是安装了终端服务器角色导致的,需要登录服务器鼠标右键单击计算机,选择角色>删除角色服务。
步骤八:检查网络
无法正常远程连接Windows实例时,需要先检查网络是否正常。
-
使用其他网络环境中(不同网段或不同运营商)的电脑连接对比测试,判断是本地网络问题还是服务器端的问题。
-
如果是本地网络问题或运营商问题,请联系本地IT人员或运营商解决。
-
如果是网卡驱动存在异常,则重新安装。排除本地网络故障后进行下一步检查。
-
-
在本地客户端使用
ping
命令测试与实例的网络连通性。-
网络异常。
-
当出现ping丢包或ping不通时
-
如果出现间歇性丢包,ECS实例的网络一直处于不稳定状态时
-
-
在实例中使用ping命令测试与客户端的连通性,提示一般故障错误时。
步骤九:检查CPU负载、带宽及内存使用情况
无法正常远程连接Windows实例时,可能是因为CPU负载、带宽不足或内存不足导致。
-
根据是否存在CPU负载过高情况,选择相应操作。
-
不存在CPU负载过高情况,请继续执行步骤2继续排查。
-
如果CPU负载过高情况,请参考本步骤解决问题。
-
检查CPU负载过高时,通过实例详情页面的终端登录实例,检查后台是否正在执行Windows Update操作。若存在Windows Update操作,则CPU负载过高是正常结果,请继续等待执行完成。
-
若应用程序有大量的磁盘访问、网络访问行为、高计算需求,CPU负载过高是正常结果。建议您升配实例规格来解决资源瓶颈问题。
-
-
-
排查是否存在公网带宽不足问题。
无法远程连接可能是公网带宽不足导致的,具体排查方法如下。
-
登录ECS管理控制台。
-
在顶部菜单栏左上角处,选择地域。
-
在实例列表页面,单击对应的实例ID,在基本信息区域,查看当前使用带宽。
如果服务器带宽为0 Mbps,说明购买实例时没有购买公网带宽,您可以通过升级带宽解决。
-
-
排查是否存在内存不足问题。
远程连接Windows实例后,不能正常显示桌面并直接退出,也没有错误信息提示。这种情况可能是服务器内存不足导致,需要检查服务器的内存使用情况。具体操作如下。
-
使用VNC方式登录Windows实例。
-
选择开始>管理工具>事件查看器,查看是否存在内存资源不足的警告日志信息。
-
步骤十:检查系统的安全策略设置
您可以查看Windows服务器上是否有阻止远程桌面连接的相关安全策略。具体操作如下。
-
使用VNC方式登录Windows实例。
-
选择开始>控制面板>管理工具,双击本地安全策略。
-
在本地安全策略界面中,单击IP安全策略,在本地计算机,根据是否存在相关的安全策略,选择相应操作。
-
存在相关安全策略,删除或重新编辑该安全策略
-
删除安全策略:右键单击相关策略,选择删除(D),在弹出的对话框,单击是。
-
双击打开该IP的安全策略,重新配置以允许远程桌面连接,然后再使用远程桌面连接。
-
-
不存在相关安全策略,执行步骤十:检查系统的安全策略设置继续排查。
-
步骤十一:检查杀毒软件
使用远程桌面无法连接ECS实例可能是由于第三方杀毒软件设置导致,可通过以下方法进行解决。此处列举两个安全狗配置导致远程访问失败的解决案例。
-
如果杀毒软件在后台执行,可通过VNC方式登录实例,将杀毒软件升级至最新版本或者直接删除。
-
请使用商业版杀毒软件,或者使用Microsoft Safety Scanner微软免费安全工具,在安全模式下扫描杀毒。
案例一:安全狗黑名单拦截
如果安装了安全狗后,出现以下情况,请确认防护软件中是否做了安全设置或对应的拦截。
-
客户端本地无法远程桌面连接Windows实例,但其他区域可以远程连接。
-
无法ping通服务器IP地址,并且通过
tracert
命令跟踪路由,发现无法到达服务器。 -
云安全中心未拦截本地公网IP地址。
打开服务器安全狗,选择网络防火墙,单击超级黑白名单右侧的
图标,如果超级黑名单中存在ECS实例公网IP,需将此黑名单规则删除,然后将公网IP添加到超级白名单。
说明
如果云安全中心的阈值设置过低,则可能拦截实例公网IP。建议把清洗阈值调高,避免出现拦截实例公网IP的情况发生。
案例二:安全狗程序异常
使用VNC登录到Windows实例后,在系统桌面右下角,安全狗弹出错误提示,系统显示类似如下。
该问题可能是由于安全狗软件出现异常导致,您可以通过Windows系统卸载安全狗软件后,重启ECS实例,即可恢复网络。
步骤十二:Windows注册表配置异常
Windows注册表相关配置异常,可能导致RDP连接被阻断,您可以参考以下步骤来修复。
-
使用VNC连接ECS实例。
-
在运行框中输入regedit,单击确定,打开注册表编辑器。
-
在注册表编辑器中,分别修改以下参数配置。
-
将
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
中的fEnableWinStation
参数值修改为1。 -
将
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
中的fDenyTSConnections
参数值修改为0。
-
步骤十三:Windows RDP自签证书到期
RDP自签证书过期,可能会导致无法远程登录,您可以参考以下步骤来修复。
-
使用VNC方式登录Windows实例。
具体操作,请参见通过密码认证登录Windows实例。
-
以管理员身份运行Windows PowerShell。
-
在Windows PowerShell对话框,执行如下命令。
Remove-Item -Path 'Cert:\LocalMachine\Remote Desktop\*' -Force -ErrorAction SilentlyContinue Restart-Service TermService -Force