目录
前言
在 Windows Server 2019 和 Windows 10 中,OpenSSH 客户端和 OpenSSH 服务器是可单独安装的组件。 具有这些 Windows 版本的用户应使用以下说明来安装和配置 OpenSSH。
通过 UI 安装 OpenSSH
OpenSSH 客户端和服务器是 Windows 10和Windows Server的可安装功能。
若要安装 OpenSSH,请启动“设置”,然后转到“应用”>“应用和功能”>“可选功能”。
扫描此列表,查看 OpenSSH 客户端是否已安装。 如果没有,则在页面顶部选择“添加功能”,然后:
- 若要安装 OpenSSH 客户端,请找到“OpenSSH 客户端”,然后单击“安装”。
- 若要安装 OpenSSH 服务器,请找到“OpenSSH 服务器”,然后单击“安装”。
安装完成后,请返回“应用”>“应用和功能”>“管理可选功能”,你应当会看到列出的 OpenSSH 组件。
通过 PowerShell 安装 OpenSSH
若要使用 PowerShell 安装 OpenSSH,请首先以管理员身份启动 PowerShell。 若要确保 OpenSSH 功能可以安装,请执行以下操作(注意命令区分大小写):
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
# 查看当前机器是否安装了服务端和客户端
PS C:\Users\Administrator> Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
#安装客户端
PS C:\Users\Administrator> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Path :
Online : True
RestartNeeded : False
#安装服务器端
PS C:\Users\Administrator> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Path :
Online : True
RestartNeeded : False
PS C:\Users\Administrator>
等待时间稍长
启动并配置SSHD服务
#启动 SSHD 服务
PS C:\Users\Administrator> Start-Service sshd
警告: 正在等待服务“OpenSSH SSH Server (sshd)”启动...
#设置SSHD服务开机自启动
PS C:\Users\Administrator> Set-Service -Name sshd -StartupType 'Automatic'
#查看“OpenSSH-Server-In-TCP”的防火墙规则
PS C:\Users\Administrator> Get-NetFirewallRule -Name *ssh*
Name : OpenSSH-Server-In-TCP
DisplayName : OpenSSH SSH Server (sshd)
Description : Inbound rule for OpenSSH SSH Server (sshd)
DisplayGroup : OpenSSH Server
Group : OpenSSH Server
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : 已从存储区成功分析规则。 (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
PS C:\Users\Administrator>
#如果上述命令没有获取到“OpenSSH-Server-In-TCP”的防火墙规则,则需要创建并启用名为“OpenSSH-Server-In-TCP”的防火墙规则。 这允许端口 22 上的入站 SSH 流量。
PS C:\Users\Administrator> New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
首次使用 SSH
在 Windows 上安装 OpenSSH 服务器后,可以从安装了 SSH 客户端的任何 Windows 设备上使用 PowerShell 来快速测试它。 在 PowerShell 中,键入以下命令:
PS C:\Users\Amare> ssh administrator@192.168.12.107
The authenticity of host '192.168.12.107 (192.168.12.107)' can't be established.
ECDSA key fingerprint is SHA256:SF0LxtxW2XWVkmSdvOBMN1DktiPhV8gCLh8ZWIrrPwE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.12.107' (ECDSA) to the list of known hosts.
administrator@192.168.12.107's password:
卸载 OpenSSH
若要使用 Windows“设置”卸载 OpenSSH,请启动“设置”,然后转到“应用”>“应用和功能”>“管理可选功能”。 在已安装功能的列表中,选择 OpenSSH 客户端或 OpenSSH 服务器组件,然后选择“卸载”。
若要使用 PowerShell 卸载 OpenSSH,请使用以下命令之一:
# 卸载OpenSSH 客户端
PS C:\Users\Administrator> Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# 卸载 OpenSSH 服务端
PS C:\Users\Administrator> Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0