human: 如何处理七牛云的云主机无法连接到Windows实例

gpt: [云主机](https://developer.qiniu.com/qvm) > 常见问题 > 远程连接 FAQ >无法连接到Windows实例

#  无法连接到Windows实例

最近更新时间: 2020-08-13 17:33:19

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

# 概述

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

# 详细信息

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

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

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

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

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

  1. 登录[QVM管理控制台](https://portal.qiniu.com/qvm/dashboard)，单击左侧导航栏中的**实例** ，在目标实例右侧单击**远程连接** 。
  2. 在首次连接或忘记连接密码时，单击**修改远程连接密码** ，修改远程连接的密码。
  3. 然后通过远程连接密码连接实例。

## 步骤二：登录密码检查

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

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

## 步骤三：端口及安全组检查

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

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

> **说明** ：QVM的安全组规则中默认放行3389端口。修改了远程桌面的端口后，需要在安全组规则中放行修改后的端口号。

    1. 登录QVM管理控制台。
    2. 找到该实例，单击**管理** 进入**实例详情** 页面，在左侧导航栏，单击**本实例安全组** 。找到安全组，单击操作列下的**配置规则** 。  
![](https://onekb.oss-cn-
zhangjiakou.aliyuncs.com/1264268/e09b6e8e-6696-4e0f-a31f-494be50bb366.png)

    3. 在安全组规则页面，单击**添加安全组规则** 。
    4. 在弹出的页面中，**端口范围** 输入修改后的远程桌面端口号。**授权对象** 输入客户端的公网IP地址。比如修改后的远程桌面端口号为4389，则**端口范围** 应输入**4389/4389** 。填写完成后，单击**确定** 。  
![](https://onekb.oss-cn-
zhangjiakou.aliyuncs.com/1264268/78d34903-2f59-42f6-8ad9-b8f66a7d8891.png)

    5. 通过“IP:端口”的方式进行远程桌面连接。连接方式类似如下。  
![](https://onekb.oss-cn-
zhangjiakou.aliyuncs.com/50812664/9094ed90-2997-4941-b153-6286344b0a48.png)

  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_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp** 。
    3. 双击**PortNumber** ，单击**十进制** ，将原端口由“113322”修改为0到65535之间且不与当前端口冲突的端口，例如5588等端口。

> **说明** ：113322为PortNumber右侧显示的端口号。

    4. 再打开**HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Tenninal Server\WinStations\RDP-Tcp** 。
    5. 双击**PortNumber** ，单击**十进制** ，将原端口“113322”修改为与第3步一致的端口号。
    6. 然后重启主机，确认远程连接成功。

## 步骤四：远程桌面服务检查

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

  1. 使用控制台远程连接功能登录到Windows实例。
  2. 右键单击**我的电脑** ，选择**属性** >**高级系统设置** 。
  3. 在**系统属性** 窗口，选择**远程** 选项卡，在**远程桌面** 区域，确认已勾选**允许远程连接到此计算机** 。  
![](https://onekb.oss-cn-
zhangjiakou.aliyuncs.com/50812664/b6a3a26c-fc6f-4eef-99b2-e05ed3bd726d.png)

  4. 用户为了提高系统安全性，有时错误的将远程桌面服务所依赖的某些关键服务禁用，导致远程桌面服务异常。可通过以下操作进行检查。
    1. 使用控制台远程连接功能登录到Windows实例。
    2. 选择**开始** >**运行** 。 输入`msconfig`，单击**确定** 。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509501356634/9.png#alt=9)

    3. 在弹出的窗口中，选择**常规** 选项卡，选择**正常启动** ，然后重启服务器即可。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509502893799/10.png#alt=10)

## 步骤五：网络检查

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

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

## 步骤六：检查CPU负载、带宽及内存使用情况

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

    1. 登录QVM管理控制台。
    2. 找到该实例， 单击**管理** 进入实例详情页面，查看网络监控数据。
    3. 检查服务器带宽是否为“1k”或“0k”。如果购买实例时没有购买公网带宽，后来升级了公网带宽，续费的时候没有选择续费带宽，带宽就会变成“1k”。
  * 远程连接输入用户密码登录后，不能正常显示桌面直接退出，也没有错误信息。这种情况可能是服务器内存不足导致的，需要查看一下服务器的内存使用情况。具体操作如下。

  1.     1. 使用控制台远程连接功能登录到Windows实例。

  1.     2. 选择**开始** >**控制面板** >**管理工具** ，双击**事件查看器** 。查看一下是否有内存资源不足的警告日志信息。如有日志信息提示内存不足，具体解决方法参考Windows 虚拟内存不足问题的处理。

## 步骤七：防火墙配置检查

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

![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509589640513/1.png#alt=1)

  1. 使用控制台远程连接功能登录到Windows实例。

  2. 在菜单栏选择**开始** >**控制面板** 。

  3. **查看方式** 选择**小图标** ，单击**Windows 防火墙** 。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509436587233/1.png#alt=2)

  4. 在Windows防火墙窗口，单击**高级设置** 。

  5. 在弹出的窗口中，单击**入站规则** ，在右侧拉至最下方，右键单击**远程桌面-用户模式(TCP-In)** ，选择**启动规则** 。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509437226276/2.png#alt=3)

  7. 返回上一个页面， 单击**Windows防火墙属性** 。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40858/cn_zh/1508933330201/4.png#alt=11)

  8. 选择**启用（推荐）** ，单击**应用** 。

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

![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40858/cn_zh/1508933497472/5.png#alt=12)

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

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

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

  1. 使用控制台远程连接功能登录到Windows实例。

  2. 选择**开始** >**控制面板** >**管理工具** ，双击**本地安全策略** 。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509525102574/12.png#alt=12)

  4. 在弹出的窗口中，单击**IP安全策略** ，查看是否有相关的安全策略。
  5. 如果有，右键单击相关策略，选择**删除** ，或双击该IP的安全策略来重新配置以允许远程桌面连接。然后再使用远程桌面连接。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509525525450/14.png#alt=14)

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

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

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

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

  1. 使用控制台远程连接功能登录到Windows实例。

  2. 选择**开始** >**管理工具** >**远程桌面服务** ，然后双击**远程桌面会话主机配置** 。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509588147999/16.png#alt=16)

  4. 选择**RDP-Tcp** 。在RDP-Tcp属性窗口，将**安全层** 修改成**RDP安全层** 。   
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509588452058/17.png#alt=17)

  5. 在操作栏单击**禁用连接** ，再单击**启用连接** 即可。 

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

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

![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509589276990/19.png#alt=19)

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

  1. 用户在使用远程桌面访问Windows实例时，有时会出现如下提示。  
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509591274752/2.png#alt=11)

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

## 步骤十：杀毒软件检查

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

  * 如果杀毒软件在后台执行，可通过实例详情页面的终端登录，将杀毒软件升级至最新版本或者直接删除。
  * 请使用商业版杀毒软件，或者使用Microsoft Safety Scanner微软免费安全工具，在安全模式下扫描杀毒，相关信息请参见[安全扫描程序](https://www.microsoft.com/security/scanner/zh-cn/default.aspx)。

### 案例一：安全狗黑名单拦截

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

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

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

![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509441788633/7.png#alt=7)

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

### 案例二：安全狗程序异常

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

![](http://docs-aliyun.cn-hangzhou.oss.aliyun-
inc.com/assets/pic/40849/cn_zh/1509445011084/8.png#alt=8)

## 步骤十一：尝试重启实例

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

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

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

## 常见报错案例

  * 协议相关报错常见案例如下。
    * 远程连接Windows系统的QVM实例时提示协议错误
  * 授权相关报错常见案例如下。  

    * 启用密码保护共享导致Windows系统远程访问出现“凭据无法工作”错误
    * 远程桌面连接QVM实例时报"连接被拒绝，因为没有授权此用户帐户进行远程登录"错误
    * Windows系统实例中未指定远程桌面授权服务器解决方法
    * Windows 2008系统的QVM实例远程登录时提示“要登录到此远程计算机，您必须被授予允许通过终端服务登录的权限”
  * 桌面无法显示的报错案例如下。  

    * Windows系统的QVM实例远程登录后无法显示桌面或显示异常
  * 连接数相关报错案例及说明如下。
    * Windows系统实例远程连接提示"终端服务器超出了最大允许连接"
    * Windows Server实例远程连接数以及License授权服务器的相关说明
  * 配置策略相关报错案例如下。
    * 远程登录Windows Server 2008 R2系统时提示未知的用户名或密码错误

# 适用于

  * 云服务器QVM