Windows Server 2022 无桌面版(Server Core)没有图形界面,因此无法通过远程桌面协议(RDP)直接连接。必须通过命令行工具进行连接和管理。以下是通过 Azure 和 AWS 控制台连接到该实例的完整步骤:
✅ 前提条件
- 已创建 Windows Server 2022 Core 实例
- 实例已配置安全组/防火墙规则,允许 SSH 或 RDP 端口(通常 3389)
- 已获取管理员凭据(用户名 + 密码)
- 本地机器安装了相应客户端工具(见下文)
⚠️ 注意:Core 版本默认禁用远程桌面服务(RDP),需先启用。
🔧 方案一:通过 PowerShell Remoting(推荐)
步骤 1:在本地安装 PowerShell
确保本地机器(Windows/macOS/Linux)已安装 PowerShell(7+ 版本)。
步骤 2:启用远程管理(首次连接前需在本地执行)
由于 Core 默认未启用 WinRM,你需要通过以下方式之一先启用它:
方法 A:通过云厂商提供的“运行命令”功能(最常用)
▶ Azure:使用“运行命令”(Run Command)
- 登录 Azure 门户
- 进入你的 虚拟机 → 运行命令(Run Command)
- 选择
RunPowerShellScript - 输入以下脚本启用 WinRM 并配置自动启动:
# 启用 WinRM 服务
winrm quickconfig -q
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="512"}'
# 设置 WinRM 自启动
Set-Service -Name WinRM -StartupType Automatic
Start-Service -Name WinRM
# 可选:配置防火墙规则(如果未自动开放)
New-NetFirewallRule -DisplayName "WinRM HTTP" -Direction Inbound -Protocol TCP -LocalPort 5985 -Action Allow
点击 运行,等待完成。
▶ AWS:使用 Systems Manager Run Command
- 登录 AWS 控制台
- 进入 Systems Manager → Run Command
- 创建新命令,选择
Run Power Shell Script - 粘贴上述相同脚本
- 选择目标实例,点击 运行
💡 若未安装 SSM Agent,请先通过用户数据(User Data)安装:
# 添加到 EC2 启动时的用户数据 <powershell> Install-PackageProvider -Name NuGet -Force Install-Module -Name AmazonSSMAgent -Force Start-Service -Name AmazonSSMAgent Set-Service -Name AmazonSSMAgent -StartupType Automatic </powershell>
方法 B:通过临时 RDP 连接(不推荐用于生产)
如果已启用 RDP(如通过自定义镜像或脚本),可先用 RDP 登录,然后在 Core 中手动运行:
winrm quickconfig -q
Set-Service WinRM -StartupType Automatic
Start-Service WinRM
步骤 3:建立 PowerShell 远程会话
在本地 PowerShell 中执行:
$vmIP = "your-instance-public-ip"
$username = "Administrator"
$password = ConvertTo-SecureString "YourPassword" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
# 建立连接(使用 HTTPS 更安全,但 Core 默认用 HTTP 5985)
Enter-PSSession -ComputerName $vmIP -Credential $credential -Authentication Basic -UseSSL:$false
✅ 成功后将看到类似 [your-instance] PS C:> 的提示符,即可执行所有服务器管理命令。
🛠 替代方案:SSH(仅当启用 OpenSSH 服务器时)
Windows Server 2022 Core 支持 OpenSSH,但需预先安装并配置:
启用 OpenSSH 服务器(通过运行命令)
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Enable-PSRemoting -Force
Install-WSMan
然后从本地使用:
ssh Administrator@<public-ip>
首次连接会提示接受主机密钥,输入密码后进入 shell。
🔐 安全建议
- 避免长期开启
AllowUnencrypted="true",建议使用 HTTPS + 证书 或 SSH over TLS - 限制源 IP 到管理机地址(安全组/NSG 规则)
- 定期轮换密码或使用 Managed Identity / Key Vault 认证(Azure)或 IAM Roles for SSM(AWS)
- 考虑使用 Azure Arc 或 AWS Systems Manager Session Manager 实现免凭据连接
❓ 常见问题排查
| 问题 | 解决方案 |
|---|---|
Access denied |
检查防火墙、WinRM 是否运行、凭据是否正确 |
Connection refused |
确认 5985/5986 端口开放,服务已启动 |
Certificate error |
添加 -SkipCertificateCheck(仅限测试环境) |
| 无法使用 RDP | Core 不支持 GUI,必须用命令行;可后续安装 Desktop Experience 镜像重装 |
需要我为你提供一键部署脚本(含自动化启用 WinRM + 连接测试),或针对特定云厂商生成完整 Terraform/CloudFormation 模板吗?
CLOUD技术笔记