一、基础环境
远程主机操作系统:Microsoft Windows Server 2019 及以上版本
本地主机操作系统:Microsoft Windows 10
二、使用背景
Windows 的远程桌面连接,仅支持密码方式登录,因此存在密码会被暴力破解的问题。ssh 一般用来远程管理 Linux 主机,既支持密码方式登录也支持密钥方式登录。在实际的使用过程中可以关闭密码方式登录,仅开启密钥方式登录,没有私钥,任何人都无法通过 ssh 暴力破解密码的方式登录到主机。
Microsoft Windows Server 2019 及以上版本 和 Microsoft Windows 10 及以上版本 在可选功能中自带 OpenSSH 客户端和OpenSSH 服务端,客户端默认为启用,服务端默认未启用,可以手动启用。其他版本的操作系统可以通过下载和运行安装程序的方式来安装 OpenSSH 服务端。
三、实现原理
密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到远程主机的某个账户上,然后在本地主机利用私钥即可完成认证并登录。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。
可以通过在 Windows 主机上启用或安装 OpenSSH 服务端,通过密钥方式登录远程主机,不使用的时候关闭远程桌面功能,使用的时候开启远程桌面功能。
四、操作方法
现在有三个方案可以在命令行中开启和关闭远程桌面功能。
A、通过注册表开启和关闭远程桌面服务
1、开启远程桌面功能,立即生效
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server"/v fDenyTSConnections /t REG_DWORD /d 0 /f
2、关闭远程桌面功能,立即生效
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server"/v fDenyTSConnections /t REG_DWORD /d 1 /f
B、通过启动和停止远程桌面服务
1、开启远程桌面服务
net start TermService
2、关闭远程桌面服务
net stop UmRdpService
net stop TermService
C、使用服务器配置工具 sconfig 开启关闭远程桌面
特别说明:服务器配置工具,顾名思义,仅在 Windows Server 中有此功能,桌面版如 windows 10 和windows 11 均无此功能。
具体操作方法是:在命令行中输入 sconfig 后按 Enter , 即可输出以下菜单,按照提示操作即可。
Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。
正在检查系统...
===============================================================================
服务器配置
===============================================================================
1) 域/工作组: 工作组: WORKGROUP
2) 计算机名: yangqun-vm
3) 添加本地管理员
4) 配置远程管理 已禁用
5) Windows 更新设置: 手动
6) 下载并安装更新
7) 远程桌面: 已禁用
8) 网络设置
9) 日期和时间
10) 遥测设置安全
11) Windows 激活
12) 注销用户
13) 重新启动服务器
14) 关闭服务器
15) 退出到命令行
输入数字以选择选项: 7
启用(E)或禁用(D)远程桌面? (空白=取消)
输入 7 然后按 Enter 根据提示操作即可。
需要注意的是,虽然是一个命令行工具,但是在 Windows Server 2019 及以下版本,均需要弹出一个确认框,需要鼠标点击确认。此时,我们输入命令后,稍等片刻,同时按下 Ctrl + C ,即可返回命令行。 该问题在 Windows Server 2022 中修复,完全在命令行中交互即可完成相应操作。
版权归原作者 杨群 所有, 如有侵权,请联系我们删除。