Windows Server 2025 预装了 SSH,使得管理员能够更安全地远程管理服务器。这对从 macOS 或 Linux 机器访问服务器,或访问不属于活动目录域的 Windows 计算机尤其有用,因为在这些场景下启用 PowerShell 远程操作可能较为复杂。默认情况下,Windows Server 2025 上的 SSH 使用密码认证。为了提高安全性,建议将其改为使用公钥认证。
1. 检查 Windows Server 2025 是否已安装 OpenSSH
要检查 Windows Server 2025 是否激活了 SSH 服务,请转到“设置”中的“可选功能”。在搜索框中输入 “SSH” 后,你将看到两个功能:OpenSSH 客户端和OpenSSH 服务器。
此外,你也可以使用 PowerShell 来检查是否已安装 OpenSSH 服务。执行以下命令查看 OpenSSH 客户端和 OpenSSH 服务器的状态:
Get-WindowsCapability -Online -Name OpenSSH*
2. 在 Windows 服务器上安装 SSH
如果 SSH 被卸载,你可以通过以下命令重新安装 SSH 服务:
- 安装 OpenSSH 服务器:
Add-WindowsCapability -Online -Name OpenSSH.Server
- 安装 OpenSSH 客户端:
Add-WindowsCapability -Online -Name OpenSSH.Client
3. 在 Windows 服务器上卸载 SSH
若出于安全考虑,你想要卸载 SSH 服务,可以使用以下命令:
- 卸载 OpenSSH 服务器:
Remove-WindowsCapability -Online -Name OpenSSH.Server
- 卸载 OpenSSH 客户端:
Remove-WindowsCapability -Online -Name OpenSSH.Client
4. 启动 SSH 服务
OpenSSH 服务器默认情况下是禁用的,使用前需要启动。为了安全起见,只有在需要时才启动此服务。
你可以通过服务管理工具启动 SSH 服务,并设置为“自动”启动:
如果使用 PowerShell 启动 SSH 服务,请执行以下命令:
Start-Service sshd
要将 SSH 服务设置为自动启动,请运行以下命令:
Set-Service -Name sshd -StartupType Automatic
使用 Get-Service
命令可以验证 SSH 服务是否正在运行:
Get-Service sshd
5. 在 Windows 防火墙中允许 SSH
安装 OpenSSH 后,Windows 防火墙规则会自动启用。如果连接被阻止,可以使用以下命令允许入站 SSH 连接:
New-NetFirewallRule -Name sshd -DisplayName "Allow SSH" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
你也可以通过图形界面检查是否允许入站 SSH 连接,方法是运行 wf.msc
。
6. 使用 SSH 连接到 Windows Server 2025
一旦 SSH 服务启动,你就可以通过 SSH 连接到服务器。例如:
ssh Administrator@10.211.55.15
无论是从 macOS、Linux 还是 Windows,连接过程是相同的。
当你第一次连接到远程服务器时,系统会提示你接受服务器的指纹以进行存储。指纹是服务器公钥的唯一标识符,用于验证服务器的真实性,防止中间人攻击。
7. 更改 OpenSSH 默认端口
由于黑客经常扫描公开的 SSH 端口,改变默认端口可以增强安全性。默认情况下,SSH 使用端口 22。要更改端口,请使用提升权限的编辑器打开文件C:ProgramDatasshssh_config
并修改端口配置。
修改完端口后,使用以下命令重新启动 SSH 服务:
Restart-Service sshd
此外,还需要更新 Windows 防火墙规则,删除端口 22 的现有规则:
Remove-NetFirewallRule -Name "OpenSSH-Server-In-TCP"
然后为新的端口创建规则:
New-NetFirewallRule -DisplayName "Allow Port PortNumber" -Direction Inbound -Protocol TCP -LocalPort PortNumber -Action Allow
现在,你可以使用新的端口通过 SSH 连接到 Windows 服务器:
ssh Administrator@10.211.55.15 -p 43210
8. 配置基于密钥的认证
SSH 的基于密钥认证使用一对加密密钥来验证用户身份,无需传输密码。此方法比基于密码的认证更安全,能够有效防止暴力攻击。
在本地计算机上运行以下命令生成密钥对:
ssh-keygen -t rsa -b 4096
生成的公钥需要复制到 Windows 服务器。首先,建立 SSH 会话并创建密钥目录:
mkdir C:ProgramDatasshadministrators_authorized_keys
然后,将公钥文件(key.pub
)复制到服务器:
scp -P 43210 key.pub Administrator@10.211.55.15:/ProgramData/ssh/administrators_authorized_keys
要强制执行基于密钥的认证,请更新 sshd_config
文件,将 PasswordAuthentication
设置为 no
。完成后,重新启动 SSH 服务:
Restart-Service sshd
使用私钥连接到服务器,无需输入密码:
`ssh -i ~/.ssh/your_pirate_key user@server_ip`
Windows Server 2025 对 SSH 的原生支持简化了远程管理流程,提供了与 Linux 系统管理员相似的功能,并且通过增强的安全性,确保了更可靠的管理体验。
此文章为原创文章,作者:胖哥叨逼叨,如若转载,请与我联系并注明出处:https://www.pangshare.com/3443.htm