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