尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Windows Server 2008R2 多用户远程桌面登录配置与授权详解

Windows Server 2008R2 多用户远程桌面登录配置与授权详解 1. 装了远程桌面还不够理解“多界面”到底指什么说起 Windows Server 2008R2到现在还有不少机房在跑。前阵子有个朋友问我说他们公司有一台老服务器装的是 2008R2现在业务部门要求“多界面”同时操作问我要怎么设置。这里先澄清一下“多界面”这个词在服务器运维里它通常不是指物理机上接多个显示器而是指多个用户通过远程桌面同时登录服务器各自拥有独立的桌面会话。简单说就是三个同事分别在自己电脑上远程连过去看到的是三个互不干扰的 Windows 桌面这就是最常见的“多界面”需求。这个需求在国家企事业单位、工厂、学校实验室里非常常见。比如一台服务器上跑着一个老的业务系统客户端三个文员要同时录入单据或者一台服务器装了设计软件几个人要轮流远程过去出图再或者实验室里一台仪器控制主机几个学生要远程操作。Windows Server 2008R2 出厂时默认只允许两个管理员远程登录而且同一用户只能开一个会话一旦第三个人连上来系统会提示“已超过最大连接数”。所以严格来说默认状态根本不支持真正的“多界面”同时办公。这篇文章就是围绕这个痛点写的。我会把从环境检查、安装远程桌面会话主机角色到解锁连接数限制、配置授权、处理登录界面、日常会话管理的完整过程一步步拆开讲还会把我实际踩过的坑也一并列出来。无论你是刚接手老服务器的运维新人还是被老板突然安排“把服务器改成多人登录”的兼职 IT按这篇文章操作基本能顺利完成。2. 动手前的准备工作版本、网络和权限一个都不能少2.1 确认你的 2008R2 版本支持多会话不是所有版本的 Windows Server 2008R2 都适合做多用户远程桌面。可以打开“开始 - 运行”输入winver查看系统版本。如果是Windows Server 2008R2 Standard标准版、Enterprise企业版或 Datacenter数据中心版都支持安装远程桌面会话主机角色可以支撑多用户并发登录。但如果你用的是Windows Web Server 2008R2或者某些 OEM 精简版那就比较麻烦后者往往不包含完整的远程桌面服务组件硬装角色也会报错。另外还要看一下服务器有没有加入域。如果服务器在域环境里配置授权和用户权限会更规范如果是工作组环境那所有要远程登录的用户都得在服务器本机创建好账号。无论哪种方式我建议先给每个需要远程登录的人建一个独立账号不要共享同一个管理员账号。原因很简单共享账号一出问题你根本不知道是谁在操作审计追查都没法做。2.2 网络与防火墙的基本检查在动系统配置之前先把网络层打通不然后面远程桌面配好了连不上你会怀疑人生。检查三件事服务器 IP 地址是否固定。远程桌面服务非常依赖稳定的 IP尤其是多用户长期使用时DHCP 分配的地址一旦变了所有快捷方式、客户端配置全部失效。能 ping 通服务器。如果 ping 不通先去查交换机端口、物理网卡、防火墙策略而不是急着改系统。服务器本地防火墙默认会拦截远程桌面端口默认 3389后面我会说开放方法这里你先心里有个数。2.3 提前确认本地管理员密码这一步容易被忽略但出问题最多的就是它。2008R2 安装远程桌面会话主机角色后系统会强制要求本地账户使用“空白密码限制”而且登录界面可能会变成“按 CtrlAltDel 登录”那种模式。如果服务器本地管理员 Administrator 的密码为空或者太弱后续远程登录会非常痛苦。我建议在动手前先确认 Administrator 密码是强密码并且单独准备一个至少 8 位的密码用于远程登录测试。3. 核心操作一安装远程桌面会话主机角色3.1 图形界面方式安装Windows Server 2008R2 在默认安装时只开启了“远程桌面”功能但那个功能只是简单的单机远程管理会话数受限、没有授权机制根本撑不起多用户同时干活。要把它变成真正的多用户终端服务器需要手动添加“远程桌面服务”角色并勾选“远程桌面会话主机”子角色。操作路径是打开“服务器管理器”右键“角色”节点选择“添加角色”在弹出的向导里找到“远程桌面服务”勾选“远程桌面会话主机”。如果后续要用到 RemoteApp、Web 访问等功能也可以一并勾选但最低底线是“远程桌面会话主机”。向导中间会问你“是否使用网络级别身份验证”建议勾选因为它既安全又能加快远程登录速度。接下来就是等待安装期间系统会提示需要重启重启后角色才算完整生效。我实测遇到的情况是2008R2 装这个角色大概要 5 到 10 分钟取决于服务器的磁盘性能。如果装了老式机械硬盘可能会更慢这时候千万别手动重启等系统自己跳提示。3.2 命令行方式安装如果你已经远程在服务器上操作而且不方便回到物理控制台用命令行安装会更稳妥至少不用盯着向导点半天。以管理员身份打开命令提示符执行ServerManagerCmd -install RDS-Session-Host这条命令会调用服务器管理器后台组件安装远程桌面会话主机角色。安装完成后同样需要重启可以用shutdown /r /t 0立即重启。我对比过两种方式的效果图形向导和命令行最终产生的角色状态完全一致命令行更适合写进自动化部署脚本里。3.3 安装后的系统变化与检查角色装完重启后系统会悄悄发生几个变化所有本地登录都需要按 CtrlAltDel 才能输入密码。“远程桌面会话主机配置”工具出现在管理工具里。系统服务里多了“Remote Desktop Services”和“Remote Desktop Configuration”等服务。建议第一步先打开“服务器管理器”在“角色 - 远程桌面服务”节点下确认“远程桌面会话主机”的状态是“已安装”。如果你看到角色前面有黄色感叹号说明组件安装不完整需要重新运行添加角色向导修复。4. 核心操作二解锁连接数限制和授权配置4.1 真正限制连接数的“隐形开关”很多网上的旧教程只会教你在“远程桌面会话主机配置”里把“最大连接数”改大但实际上还有一个更隐蔽的开关在组策略里两个地方必须配套设置缺一个都白搭。打开本地组策略编辑器开始 - 运行 - 输入gpedit.msc依次展开计算机配置 - 管理模板 - Windows 组件 - 远程桌面服务 - 远程桌面会话主机 - 连接右侧找到“限制连接数量”策略双击打开选择“已启用”然后在“允许的 RD 最大连接数”里填上一个合适的数字。这个数值怎么定如果是内部办公我一般建议填 5 到 10如果是几十人的场景直接填999999也问题不大因为实际并发量还受授权模式制约。关键点是组策略里的这个值才是最终上限你就算在 RDP-Tcp 属性里把最大连接数改成了 100组策略这里仍然是“未配置”默认值非常小照样会限制连接。4.2 RDP-Tcp 属性里的最大连接数第二个需要修改的地方是“远程桌面会话主机配置”开始 - 运行 - 输入tsconfig.msc。在左侧“连接”列表里找到RDP-Tcp右键属性切换到“网卡”选项卡把“最大连接数”改成自定义并填入你希望的值。这里有个容易混淆的细节RDP-Tcp 属性里的最大连接数其实是一个兼容旧接口的配置项。在 Windows Server 2008R2 里最优先级的还是组策略里的“限制连接数量”。我习惯的做法是把组策略里的限制数量设置成目标值然后把 RDP-Tcp 属性里的最大连接数也改成相同数值或更大这样双保险后续排查起来也少一个变量。4.3 授权模式设置与 120 天宽限期装完远程桌面会话主机后默认情况下系统会给大约 120 天的授权宽限期。这段时间内多用户连接基本正常但超过宽限期后客户端登录时会弹出“由于没有远程桌面授权服务器可以提供许可证远程会话被中断”的错误很多人就是在这里卡住。解决办法是在“远程桌面会话主机配置”里双击“授权”项把授权模式改成“按用户”然后指定一个“授权服务器”。如果你没有独立的授权服务器可以填写本机计算机名。这里我必须说清楚背后的逻辑微软的授权分为“按设备”和“按用户”。按设备模式需要激活授权服务器并安装许可证如果没激活宽限期一过就完蛋而按用户模式下2008R2 的远程桌面会话主机对许可证的校验相对宽松在内部测试环境里即使授权服务器未激活也能长期使用。所以很多老运维会优先选择“按用户”模式。当然如果这是正式生产环境商用场合还是建议购买合法的微软远程桌面授权RDS CAL别因为省一点授权费给自己埋雷。我见过有的公司因为这个问题被厂商查到麻烦不小。4.4 允许同一账号开多个会话多界面还有一个常见需求同一个用户账号比如admin希望在 A 电脑和 B 电脑同时登录各自干各自的活。这需要额外改一个策略位置和前面一样还是在“连接”分支下找到“将远程桌面服务用户限制到单独的远程桌面服务会话”。默认情况下这个策略是“未配置”但有些安全加固脚本会把它设成“已启用”。如果要支持同一个账号多开必须把该项设为“已禁用”或“未配置”。这一点在实操中特别重要。我曾经遇到一个客户说改了连接数上限还是只能一个人登录排查了老半天最后发现就是这条策略被上一任运维用安全基线脚本启用了。所以当你发现多用户配置没问题但依然无法多会话时第一反应就查这里。5. 配套配置与安全加固别拆了东墙补西墙5.1 防火墙放行 3389 端口与自定义端口远程桌面默认走 TCP 3389 端口。在 2008R2 里正常情况下添加远程桌面会话主机角色后系统会在防火墙里自动创建“远程桌面”的入站规则。但如果你之前手动优化过防火墙策略或者服务器上有第三方安全软件很可能自动规则被覆盖了。保险起见手动开放一次打开“控制面板 - Windows 防火墙 - 高级设置”在“入站规则”里找到“远程桌面 - 用户模式(TCP-In)”或“远程桌面(TCP-In)”确认状态是“已启用”。如果没有就新建一条规则选择“端口”填3389协议选 TCP行为选“允许连接”应用到所有配置文件。如果你的服务器 IP 是直接暴露在公网的虽然我不建议这么做建议把默认 3389 端口改成随机高位端口比如 48371。方法是在注册表编辑器regedit里定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp找到右侧PortNumber改为十进制的自定义端口比如 48371然后重启系统或者在服务里重启“Remote Desktop Services”服务。改完端口后防火墙也要放行新端口。这一步能挡掉大量扫描攻击我实测下来默认 3389 端口每天都会被公网扫描器问候几十次改成高位端口后清净很多。5.2 解决登录界面变成 CtrlAltDel 的“惊吓”装完远程桌面会话主机角色后服务器控制台和远程登录界面会变成“按 CtrlAltDel 登录”。很多第一次操作的人会吓一跳以为系统中毒了。其实这是角色安装后的默认安全策略变化不是系统异常。如果你是在物理控制台操作每次都要按一次这组键显然很烦可以把它关掉。路径是本地组策略编辑器 - 计算机配置 - Windows 设置 - 安全设置 - 本地策略 - 安全选项找到“交互式登录:无须按 CtrlAltDel”设置为“已启用”。建议这个操作在安装角色完成后立刻做否则你远程登录进去后会发现自己被系统“锁”在了登录界面外面。5.3 会话超时和空闲会话管理多用户并发登录后会有一个新问题人走了没注销会话一直挂着占内存、占授权、还可能把别人挤掉。所以“会话时间限制”是必须配置的。在组策略编辑器里回到“远程桌面服务 - 远程桌面会话主机”这次点开“会话时间限制”分支把以下三项都按需启用“设置活动但空闲的远程桌面服务会话的时间限制”建议设为 15 到 30 分钟。含义是用户一段时间没操作自动断开会话。“设置已断开但仍保持活动的会话的时间限制”建议设为 10 到 15 分钟。用户断网或关闭客户端后会话进入“已断开”状态如果一直不注销也会占资源。“达到时间限制时终止会话”建议设为“已启用”这样系统会直接注销超时会话而不是只断开连接。这些策略在生产环境里特别有用。我之前管过一台跑程序的 2008R2用户经常晚上不注销第二天早上别人就连不上后来就是靠这个策略自动清理掉的。6. 多会话场景下的运维与管理技巧6.1 用命令管理远程会话比图形界面高效太多多用户开着会议的时候你想看谁在线上、谁占着资源用“任务管理器”切来切去很痛苦。2008R2 自带几个非常实用的命令行工具可以说是老运维的心头好。# 查看当前服务器的所有远程会话 qwinsta /server:服务器IP # 注销某个会话按会话 ID rwinsta /server:服务器IP 会话ID比如执行qwinsta后会看到类似这样的输出SESSIONNAME USERNAME ID STATE TYPE DEVICE services 0 Disc console 1 Conn rdp-tcp 65536 Listen rdp-tcp#2 zhangsan 3 Active rdp-tcp#3 lisi 4 Active上面显示zhangsan在会话 ID 3lisi在会话 ID 4。如果zhangsan已经断网了但状态还是 Active可以直接用rwinsta 3强制注销。我平时排查“连接数占用满了”的问题基本都是从qwinsta开始查。6.2 多用户同时运行同一软件时要注意的坑2008R2 支持多会话了但不代表所有软件都能好好配合。很多老旧的桌面软件在设计时是单实例的比如某些 ERP 客户端、打印控件、加密狗客户端在第二个会话里启动时会报“程序已在运行中”或直接没反应。碰到这种情况优先考虑三点检查软件安装方式。部分软件在安装时区分“每用户安装”和“每机器安装”如果当初选了每用户换一个账号登录就可能找不到安装目录需要重新安装。看软件是否有终端服务兼容模式。右键软件主程序 exe在“兼容性”选项卡里勾选“为兼容此程序运行 Windows 版本”有时能缓解但治标不治本。终极方案是给特定软件单独配置 RemoteApp 或使用应用虚拟化技术把这些不听话的老软件隔离给特定用户组。这个方案配置复杂度高一些但对于 2008R2 老环境来说也算是最不折腾的办法了。6.3 别把 2008R2 当成永远能扛的“老黄牛”前面说了这么多配置方法但我还是要泼一盆冷水Windows Server 2008R2 早在 2020 年就停止了主流支持网上流传的所谓“绕过授权”“关闭更新”之类的操作本质上都是在给自己埋雷。如果是生产环境长期用建议尽早把多用户远程桌面场景迁移到 Windows Server 2016 及以上版本或者干脆把业务应用搬到带多用户功能的云主机上。实在短期内迁移不了至少做到服务器不要直接暴露公网、定期打补丁虽然补丁也没了、严格控制远程登录账号权限。7. 常见问题排查速查表这些是我在实操中多次遇到并验证过的典型问题整理成表格方便你直接对照现象可能原因解决方法登录提示“由于没有远程桌面授权服务器可以提供许可证远程会话被中断”120 天授权宽限期过期将授权模式改为“按用户”并指定授权服务器为本机生产环境尽快补买合法授权提示“已超过最大连接数”组策略“限制连接数量”数值过小或 RDP-Tcp 属性最大连接数过小在 gpedit.msc 和 tsconfig.msc 两处同步调大连接数同一账号无法同时登录多个会话“将远程桌面服务用户限制到单独的远程桌面服务会话”策略被启用在组策略“连接”分支下把该项设为“已禁用”或“未配置”登录界面要求按 CtrlAltDel安装远程桌面会话主机后默认安全策略变更启用“交互式登录:无须按 CtrlAltDel”外网或跨网段连不上远程桌面防火墙未放行 3389 端口或端口被安全软件拦截检查防火墙入站规则放行对应 TCP 端口部分软件在第二个会话中无法启动软件单实例限制或不支持终端服务检查安装方式考虑用 RemoteApp 或应用虚拟化隔离用户名和密码正确但始终提示“凭据不工作”用户不在 Remote Desktop Users 组或网络级别身份验证不匹配将用户加入本机 Remote Desktop Users 组统一客户端和服务器身份验证设置8. 最后分享一点个人经验我自己同时管着几台 2008R2 老机器最深的体会是这类老系统能不动就不动但一旦业务上要求“多界面”多用户登录那别急着瞎试先把远程桌面会话主机角色装上然后把组策略、授权、防火墙三件事理顺整体成功率能提高一大半。我还建议配置完成后拿两个不同账号分别从两台电脑实测一下并发登录确认无误后再正式通知业务部门使用。别等到第二天上班一堆人围在服务器前面拍你肩膀那场面是真的不好收拾。
返回列表