适用于 Windows 的 OpenSSH 入门

OpenSSH 是一款用于远程登录的连接工具,它使用 SSH 协议。 它会加密客户端与服务器之间的所有流量,从而遏止窃听、连接劫持和其他攻击。

OpenSSH 兼容的客户端可用于连接到 Windows Server 和 Windows 客户端设备。

Important

如果在 PowerShell/openssh-portal 的 GitHub 存储库中下载了 OpenSSH beta 版,请按照此处列出的说明进行作,而不是本文中的说明。 Win32-OpenSSH 存储库中的一些信息与预发布产品有关,在发布前可能会进行大幅修改。 Microsoft 不对此处提供的信息作任何明示或默示的担保。

Prerequisites

在开始之前,计算机必须满足以下要求:

  • 至少运行 Windows Server 2019 或 Windows 10(内部版本 1809)的设备。

  • PowerShell 5.1 或更高版本。

  • 作为内置管理员组成员的帐户。

先决条件检查

若要验证环境,请打开提升的 PowerShell 会话并执行以下操作:

  • 输入 winver.exe ,然后按 Enter 查看 Windows 设备的版本详细信息。

  • 运行 $PSVersionTable.PSVersion。 验证主要版本至少为 5,次要版本至少为 1。 详细了解如何在 Windows 上安装 PowerShell

  • 若要检查你是否是管理员,请运行以下命令。 当你是内置 Administrator 组的成员时,输出将显示 True

    (New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
    

启用 OpenSSH 服务器

从 Windows Server 2025 开始,OpenSSH 现在默认安装。 还可以在服务器管理器中启用或禁用 sshd 服务。

若要使用服务器管理器启用 SSHD,请执行以下操作:

  1. 服务器管理器的左侧导航窗格中,选择 “本地服务器”。

  2. “属性” 窗口中,找到 远程 SSH 访问

  3. 选择 “已禁用” 以启用 OpenSSH 服务。

Note

如果需要允许或限制特定用户或组使用 OpenSSH 进行远程访问,请将其添加到 OpenSSH 用户 用户组。

安装 OpenSSH 服务器和客户端

要在 Windows Server 设备上安装 OpenSSH 组件,请执行以下操作:

  1. 选择 “开始”,在搜索框中键入 可选功能 ,然后选择 “可选功能”。

  2. 扫描列表,查看是否已安装 OpenSSH。 如果没有,请在页面顶部选择 “视图”功能,然后:

    • 搜索并选择 OpenSSH 客户端,然后选择“ 添加”

    • 搜索并选择 OpenSSH 服务器,然后选择“ 添加”

  3. 打开 Services 桌面应用。 (选择 “开始”,在搜索框中键入 services.msc ,然后选择 “服务 ”应用或按 Enter

  4. 在详细信息窗格中,双击“OpenSSH SSH 服务器”

  5. 在“ 常规 ”选项卡上的“ 启动类型 ”下拉菜单中,选择“ 自动 ”,然后选择“ 确定”。

  6. 若要启动服务,请选择“ 启动”。

Note

安装 OpenSSH 服务器将创建并启用名为 <a0/&a0> 的防火墙规则。 此规则允许端口 22 上的入站 SSH 流量。 如果未启用此规则且此端口未打开,则拒绝或重置连接。

安装 OpenSSH 服务器和客户端

要在 Windows Server 设备上安装 OpenSSH 组件,请执行以下操作:

  1. 选择“ 开始”,在搜索框中键入 可选功能 ,然后选择“ 添加可选功能”。

  2. 扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后

    • 搜索 OpenSSH 客户端,然后选择“安装

    • 搜索 OpenSSH 服务器,然后选择“安装

  3. 打开 Services 桌面应用。 (选择 “开始”,在搜索框中键入 services.msc ,然后选择 “服务 ”应用或按 Enter

  4. 在详细信息窗格中,双击“OpenSSH SSH 服务器”

  5. 在“ 常规 ”选项卡上的“ 启动类型 ”下拉菜单中,选择“ 自动 ”,然后选择“ 确定”。

  6. 若要启动服务,请选择“ 启动”。

Note

安装 OpenSSH 服务器将创建并启用名为 <a0/&a0> 的防火墙规则。 此规则允许端口 22 上的入站 SSH 流量。 如果未启用此规则且此端口未打开,则拒绝或重置连接。

安装 OpenSSH 服务器和客户端

要在 Windows Server 设备上安装 OpenSSH 组件,请执行以下操作:

  1. 选择 “开始”,在搜索框中键入 可选功能 ,然后选择 “可选功能 ”(也称为 “管理可选功能”)。

  2. 扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后

    • 搜索 OpenSSH 客户端,然后选择“安装

    • 搜索 OpenSSH 服务器,然后选择“安装

  3. 打开 Services 桌面应用。 (选择 “开始”,在搜索框中键入 services.msc ,然后选择 “服务 ”应用或按 Enter

  4. 在详细信息窗格中,双击“OpenSSH SSH 服务器”

  5. 在“ 常规 ”选项卡上的“ 启动类型 ”下拉菜单中,选择“ 自动 ”,然后选择“ 确定”。

  6. 若要启动服务,请选择“ 启动”。

Note

安装 OpenSSH 服务器将创建并启用名为 <a0/&a0> 的防火墙规则。 此规则允许端口 22 上的入站 SSH 流量。 如果未启用此规则且此端口未打开,则拒绝或重置连接。

连接到 OpenSSH 服务器

安装后,可以从安装了 OpenSSH 客户端的 Windows 或 Windows Server 设备连接到 OpenSSH 服务器。 在 PowerShell 提示符下,运行以下命令。

ssh domain\username@servername

连接后,会收到类似如以下输出的消息。

The authenticity of host 'servername (10.00.00.001)' can't be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?

输入 yes 会将该服务器添加到 Windows 客户端上的已知 SSH 主机列表中。

此时,服务会提示你输入密码。 作为安全预防措施,输入密码时不会显示密码字符。

连接后,你将看到以下 Windows 命令行界面提示符:

domain\username@SERVERNAME C:\Users\username>

禁用 OpenSSH 服务器

可以在服务器管理器中禁用 sshd 该服务。

若要使用服务器管理器禁用 SSHD,请执行以下作:

  1. 服务器管理器的左侧导航窗格中,选择 “本地服务器”。

  2. “属性” 窗口中,找到 远程 SSH 访问

  3. 选择 “已禁用” 以禁用 OpenSSH 服务。

Note

如果需要允许或限制特定用户或组使用 OpenSSH 进行远程访问,请将其添加到 OpenSSH 用户 用户组。

卸载 OpenSSH 服务器和客户端

若要使用 Windows 设置来卸载 OpenSSH:

  1. 选择 “开始”,在搜索框中键入 “可选功能 ”,然后选择 “可选功能”。

  2. 扫描列表以查看是否安装了 OpenSSH:

    • 搜索并选择 OpenSSH 客户端,然后选择“ 删除”

    • 搜索并选择 OpenSSH 服务器,然后选择“ 删除”

卸载 OpenSSH 服务器和客户端

若要使用 Windows 设置来卸载 OpenSSH:

  1. 选择 “开始”,在搜索框中键入 可选功能 ,然后选择 “可选功能 ”(也称为 “管理可选功能 ”或 “查看可选功能历史记录”)。

  2. 在列表中,选择 OpenSSH 客户端OpenSSH 服务器

  3. 选择 “卸载”。

如果卸载服务时正在使用该服务,则应重启 Windows。

后续步骤

现在,你已经完成了适用于 Windows 的 OpenSSH 服务器的安装,以下是一些可以帮助你学习如何使用它的文章: