如何在Windows Server 2025 上安装和启用 SSH

Windows Server 2025 预装了 SSH,使得管理员能够更安全地远程管理服务器。这对从 macOS 或 Linux 机器访问服务器,或访问不属于活动目录域的 Windows 计算机尤其有用,因为在这些场景下启用 PowerShell 远程操作可能较为复杂。默认情况下,Windows Server 2025 上的 SSH 使用密码认证。为了提高安全性,建议将其改为使用公钥认证。

1. 检查 Windows Server 2025 是否已安装 OpenSSH

要检查 Windows Server 2025 是否激活了 SSH 服务,请转到“设置”中的“可选功能”。在搜索框中输入 “SSH” 后,你将看到两个功能:OpenSSH 客户端OpenSSH 服务器

SSH-is-installed-by-default-on-Windows-Server-2025-600x318

此外,你也可以使用 PowerShell 来检查是否已安装 OpenSSH 服务。执行以下命令查看 OpenSSH 客户端和 OpenSSH 服务器的状态:

Get-WindowsCapability -Online -Name OpenSSH*
Testing-if-SSH-is-installed-on-Windows-Server-2025-600x263

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 服务,并设置为“自动”启动:

Start-SSH-service-on-Windows-Server-2025-600x338

如果使用 PowerShell 启动 SSH 服务,请执行以下命令:

Start-Service sshd

要将 SSH 服务设置为自动启动,请运行以下命令:

Set-Service -Name sshd -StartupType Automatic

使用 Get-Service 命令可以验证 SSH 服务是否正在运行:

Get-Service sshd
Starting-the-SSH-service-with-PowerShell-600x165

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

Allow-inbound-SSH-connections-in-the-Windows-Firewall-600x393

6. 使用 SSH 连接到 Windows Server 2025

一旦 SSH 服务启动,你就可以通过 SSH 连接到服务器。例如:

ssh Administrator@10.211.55.15

无论是从 macOS、Linux 还是 Windows,连接过程是相同的。

Pasted image 20241115171133

当你第一次连接到远程服务器时,系统会提示你接受服务器的指纹以进行存储。指纹是服务器公钥的唯一标识符,用于验证服务器的真实性,防止中间人攻击。

Pasted image 20241115171143

7. 更改 OpenSSH 默认端口

由于黑客经常扫描公开的 SSH 端口,改变默认端口可以增强安全性。默认情况下,SSH 使用端口 22。要更改端口,请使用提升权限的编辑器打开文件C:ProgramDatasshssh_config 并修改端口配置。

Pasted image 20241115171200

修改完端口后,使用以下命令重新启动 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
Pasted image 20241115171217

8. 配置基于密钥的认证

SSH 的基于密钥认证使用一对加密密钥来验证用户身份,无需传输密码。此方法比基于密码的认证更安全,能够有效防止暴力攻击。

在本地计算机上运行以下命令生成密钥对:

ssh-keygen -t rsa -b 4096
Pasted image 20241115171229

生成的公钥需要复制到 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

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2024年11月15日 下午4:40
下一篇 2024年11月18日 下午5:43

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注