上线优惠价:每个套餐的价格都比我们追踪的最便宜的离岸竞争对手低 30%。 查看价格对比所有套餐价格均比最便宜的离岸主机服务商低 30%

知识库 · Windows RDP

如何从任意设备连接 Windows RDP 服务器

从 Windows、macOS、Linux、iOS 或 Android 连接您的 OffshoreServ Windows 服务器,更改 RDP 端口,启用 NLA,修复常见错误并严格限制访问。

更新于 阅读约 7 分钟

本指南要点

  • 在 Windows 上使用远程桌面连接(mstsc),在 macOS、iOS 和 Android 上使用 Windows App,在 Linux 上使用 Remmina 或 FreeRDP。
  • 保持网络级别身份验证处于开启状态,并通过 Windows 防火墙仅允许来自您自己 IP 的 RDP 连接。
  • 更改端口可以减少日志噪音,但其本身并不是一项安全控制措施。
  • 大多数 CredSSP 错误、内部错误和黑屏问题,都可以在您这一端快速解决。
Windows RDP8 个章节
全部指南
本页内容
  1. 从 Windows 连接
  2. 从 macOS 连接
  3. 从 Linux 连接
  4. 从 iOS 和 Android 连接
  5. 更改 RDP 端口
  6. 启用网络级别身份验证
  7. 修复常见错误
  8. 保护 RDP 安全

您需要从客户中心的服务器页面获取三项信息:服务器的 IP 地址(下文以 SERVER_IP 表示)、用户名和密码。在完整的 RDP 套餐中,用户名为 Administrator;如果是共享席位,请使用页面上显示的用户名。除非您更改端口,否则远程桌面监听 3389 端口。

从 Windows 连接

  1. 按 Win+R,输入 mstsc 并按 Enter,打开“远程桌面连接”。
  2. 点击显示选项。在“计算机”栏中输入 SERVER_IP(如果更改过端口,请加上 :PORT),在“用户名”栏中输入 Administrator。
  3. 点击连接并输入密码。
  4. Windows 会警告该证书并非来自受信任的证书颁发机构,因为服务器使用的是自签名证书。这属于正常现象:勾选不再询问我是否连接到此计算机,然后点击是。

您也可以从终端发起连接:

mstsc /v:SERVER_IP

将连接保存为 .rdp 文件

在常规选项卡中,点击另存为。以后双击该文件,即可使用相同设置重新连接。只有在没有其他人使用的电脑上,才勾选允许我保存凭据。

剪贴板与驱动器重定向

在本地资源选项卡中,勾选剪贴板,即可在您的电脑和服务器之间复制粘贴。如需访问本地文件,请点击详细信息,展开驱动器并勾选所需的驱动器;它会出现在服务器的文件资源管理器中。只共享您需要的内容:在服务器上您的会话中运行的任何程序,都可以读写重定向的驱动器。

在会话中,按 Ctrl+Alt+End 相当于发送 Ctrl+Alt+Del,按 Ctrl+Alt+Break 可切换全屏模式。

从 macOS 连接

  1. 从 Mac App Store 安装 Windows App。它是微软的客户端,已于 2024年取代 Microsoft Remote Desktop。
  2. 点击 +,然后选择添加电脑。
  3. 在“电脑名称”中输入 SERVER_IP(或 SERVER_IP:PORT)。在“凭据”下添加一个用户账户,填写 Administrator 和您的密码。
  4. 在设备和音频选项卡中,保持剪贴板共享开启。在文件夹选项卡中,勾选重定向文件夹,并添加一个要与服务器共享的文件夹。
  5. 保存后,双击新添加的电脑进行连接,并接受证书提示。

从 Linux 连接

Remmina

Remmina 是一款图形界面客户端,大多数发行版都提供了该软件包。在 Debian 和 Ubuntu 上:

sudo apt install remmina remmina-plugin-rdp

新建一个连接配置文件,选择 RDP 协议,然后输入 SERVER_IP、用户名和密码。共享文件夹选项可以让服务器访问某个本地文件夹,剪贴板则默认共享。保存、连接并接受证书。

在命令行中使用 FreeRDP

在当前的 Debian 和 Ubuntu 上,FreeRDP 3 的软件包名为 freerdp3-x11,命令为 xfreerdp3。较旧的 FreeRDP 2 软件包中该命令名为 xfreerdp,并接受相同的选项。

sudo apt install freerdp3-x11
mkdir -p ~/rdp-share
xfreerdp3 /v:SERVER_IP /u:Administrator /dynamic-resolution +clipboard /drive:share,$HOME/rdp-share

FreeRDP 会提示输入密码,并在首次连接时要求您接受服务器的证书。不要把密码写在命令中:如果通过 /p: 传递,密码会留在您的 shell 历史记录中。如需使用自定义端口,请使用 /v:SERVER_IP:PORT。

从 iOS 和 Android 连接

从 App Store 或 Google Play 安装 Windows App。在这两个平台上,它都取代了微软旧版的远程桌面应用(又名 RD Client)。点击 +,添加电脑,输入 SERVER_IP 并添加您的用户账户,然后点击新添加的电脑进行连接。手机很适合用来查看正在运行的任务或重启某个程序;如需进行较长时间的会话,请使用电脑。

更改 RDP 端口

把远程桌面从 3389 端口换到其他端口,可以减少日志中的自动化登录尝试次数。但这并不能让服务躲过全面的扫描,因此请将其视为减少日志噪音的手段,并与下文的 IP 白名单结合使用。

请以管理员身份在 PowerShell 中运行以下命令。选择一个介于 1024 和 49151 之间的空闲端口;本示例使用 33890:

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value 33890
New-NetFirewallRule -DisplayName 'RDP 33890 TCP' -Direction Inbound -Protocol TCP -LocalPort 33890 -Action Allow
New-NetFirewallRule -DisplayName 'RDP 33890 UDP' -Direction Inbound -Protocol UDP -LocalPort 33890 -Action Allow
Restart-Service -Name TermService -Force

您的会话会断开。请重新连接到 SERVER_IP:33890,连接成功后,禁用 3389 端口的内置规则:

Disable-NetFirewallRule -DisplayGroup 'Remote Desktop'

启用网络级别身份验证

启用网络级别身份验证(NLA)后,客户端必须先证明自己知道密码,服务器才会创建会话或显示登录界面。未通过身份验证的客户端永远到不了 Windows 登录界面,从而减轻了机器人带来的负载,也缩小了攻击面。当前的 Windows 版本默认启用 NLA。要检查这一设置,请打开“系统属性”的“远程”选项卡:

SystemPropertiesRemote

请确保已勾选仅允许运行使用网络级别身份验证的远程桌面的计算机连接。也可以以管理员身份在 PowerShell 中进行设置:

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1

NLA 无法处理已过期的密码,也无法处理必须在下次登录时更改的密码,因此请在密码过期之前更改密码。

修复常见错误

CredSSP:“出现身份验证错误”

如果错误消息中提到“CredSSP 加密数据库修正”(encryption oracle remediation),说明其中一方缺少 2018年发布的 CredSSP 安全更新(CVE-2018-0886)。解决方法是在两台计算机上都更新 Windows。如果您无法连接服务器进行更新,请在您自己的电脑上以管理员身份运行命令提示符,临时允许该连接:

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2 /f

连接后,在服务器上运行 Windows 更新并重启服务器。然后删除该设置,因为它会削弱您电脑的防护:

reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /f

如果 Windows 提示的是 Credential Guard 不允许使用已保存的凭据,请在每次连接时输入密码,而不要保存密码。

“出现了内部错误”

  1. 等待两分钟后重试。服务器可能仍在启动或正在完成更新。
  2. 断开您这一端的所有 VPN 或代理,然后重试。
  3. 在您的 Windows 电脑上以管理员身份运行命令提示符,关闭 UDP 传输,然后重试:
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client" /v fClientDisableUDP /t REG_DWORD /d 1 /f

如果仍然失败,请删除“文档”文件夹中隐藏的 Default.rdp 文件,以重置远程桌面连接保存的设置,然后从客户中心重启服务器。

登录后黑屏

  • 请等待一分钟:首次登录时会创建您的用户配置文件,而且更新可能还在收尾。
  • 按 Ctrl+Alt+End,打开任务管理器,选择运行新任务,然后启动 explorer.exe。
  • 在远程桌面连接中,于体验选项卡取消勾选持久位图缓存;在显示选项卡中降低分辨率,并取消勾选将我的所有监视器用于远程会话。
  • 按 Ctrl+Alt+End,选择注销,然后重新连接。如果屏幕仍然是黑的,请从客户中心重启服务器。

“远程桌面无法连接到远程计算机”

检查 IP 地址和端口;如果设置了白名单,还要检查您当前的 IP 是否在白名单中。在您电脑上的 PowerShell 中测试该端口是否有响应:

Test-NetConnection -ComputerName SERVER_IP -Port 3389

TcpTestSucceeded : False 表示服务器已宕机或仍在启动,或者防火墙拦截了您的连接。请查看状态页面,然后通过客户中心该服务器页面上的“服务器操作”重启服务器。

保护 RDP 安全

对整个互联网开放的 RDP 端口会全天候遭受自动化的密码猜测。以下四项措施可以消除其中的大部分风险。

密码与账户

请使用由密码管理器生成、至少 16 个随机字符且未在其他任何地方使用过的密码。自动化攻击通常会尝试 Administrator 这个名称,因此请重命名内置账户;之后请使用新名称登录:

Rename-LocalUser -Name 'Administrator' -NewName 'YOUR_ADMIN_NAME'

账户锁定策略

在 15 分钟内输错 5 次密码后,将账户锁定 15 分钟。请在以管理员身份运行的命令提示符中执行:

net accounts /lockoutthreshold:5
net accounts /lockoutwindow:15
net accounts /lockoutduration:15

除非启用了允许管理员账户锁定策略,否则内置的 Administrator 账户不受锁定限制。微软在 2022年10月的更新中加入了该策略;在本地安全策略(secpol.msc)中依次展开“账户策略”和“账户锁定策略”即可找到它。锁定策略还会让机器人通过猜测您的用户名来锁定您的账户,这也是应当从根本上限制谁能连接的又一个理由。

仅允许来自您 IP 的 RDP 连接

这是这些措施中最有效的一项:来自其他任何地址的连接都无法到达登录界面。请以管理员身份在 PowerShell 中将内置的远程桌面规则限制为仅允许您的地址:

Set-NetFirewallRule -DisplayGroup 'Remote Desktop' -RemoteAddress YOUR_IP

如果您已将 RDP 改到其他端口,请对您自己创建的规则执行同样的操作:

Set-NetFirewallRule -DisplayName 'RDP 33890 TCP' -RemoteAddress YOUR_IP
Set-NetFirewallRule -DisplayName 'RDP 33890 UDP' -RemoteAddress YOUR_IP

多个地址之间用逗号分隔。检查结果:

Get-NetFirewallRule -DisplayGroup 'Remote Desktop' | Get-NetFirewallAddressFilter

检查登录失败记录

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20

事件 ID 4625 记录的是一次登录失败。如果持续出现来自未知地址的此类事件,说明 RDP 仍对互联网开放。请保持 Windows 更新,并参阅适用于 RDP 的 Windows 版本,确保运行的版本仍能获得安全修复。

某个步骤遇到困难?

独立服务器和 GPU 服务器客户可在客户中心提交工单,注明服务器的 IP 地址以及已尝试过的操作。首次回复目标:12 小时内。其他服务器请使用其页面上的服务器操作、指南和网络状态页面。

欢迎回来

登录以管理您的服务器和余额。

无需 KYC由 Cloudflare Turnstile 提供人机验证无跟踪