跳到主要内容

原文:https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse

安装 OpenSSH

适用于 Windows Server 2019, Windows 10: Windows Server 2022

OpenSSH 是一种使用 SSH 协议的远程登录连接工具。 它对客户端和服务器之间的所有流量进行加密,以消除窃听、连接劫持和其他攻击。

OpenSSH 可用于将安装了 OpenSSH 客户端的 Window 10(内部版本 1809 及更高版本)或 Windows Server 2019 设备连接到安装了 OpenSSH Server 的设备。

重要 如果您从 PowerShell/openssh-portable 的 GitHub 存储库下载 OpenSSH,请按照此处列出的说明进行操作,而不是本文中的说明。

使用windows设置来安装OpenSSH

可以使用 Windows Server 2019 和 Windows 10 设备上的 Windows 设置安装这两个 OpenSSH 组件。

安装OpenSSH组件:

  1. 打开设置,选择应用程序 > 应用程序和功能,然后选择可选功能image.png

image.png

image.png 2. 扫描列表以查看是否已安装 OpenSSH。 如果没有,请在页面顶部选择添加功能,然后:

  • 找到 OpenSSH Client,然后点击安装
  • 找到 OpenSSH Server,然后点击安装

设置完成后,返回应用程序 > 应用程序和功能以及可选功能,您应该会看到列出的 OpenSSH。 image.png

注意 安装 OpenSSH Server 将创建并启用名为 OpenSSH-Server-In-TCP 的防火墙规则。 这允许端口 22 上的入站 SSH 流量。如果此规则未启用且此端口未打开,则连接将被拒绝或重置。

使用PowerShell安装OpenSSH

要使用 PowerShell 安装 OpenSSH,请以管理员身份运行 PowerShell。 要确保 OpenSSH 可用,请运行以下 cmdlet:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

如果两者都没有安装,这应该返回以下输出:

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

然后,根据需要安装服务器或客户端组件:

#安装powershell客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# 安装powershell服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

这两个都应该返回以下输出:

Path          :
Online : True
RestartNeeded : False

启动和配置OpenSSH服务器

要启动和配置 OpenSSH Server 以供初始使用,请以管理员身份打开 PowerShell,然后运行以下命令启动sshd service

# 打开 sshd service
Start-Service sshd

# 可选但是推荐:
Set-Service -Name sshd -StartupType 'Automatic'

# 确认防火墙规则已配置。 它应该由安装程序自动创建。
Get-NetFirewallRule -Name *ssh*

# 应该有一个名为“OpenSSH-Server-In-TCP”的防火墙规则,应该启用
# 如果防火墙不存在,创建一个
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

连接到OpenSSH服务器

安装后,您可以通过使用 PowerShell 安装 OpenSSH 客户端的 Windows 10 或 Windows Server 2019 设备连接到 OpenSSH 服务器,如下所示。 请务必以管理员身份运行 PowerShell:

ssh 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>

使用Windows设置卸载OpenSSH

使用 Windows 设置卸载 OpenSSH:

  • 打开设置,然后转到应用程序 > 应用程序和功能。
  • 去可选功能。
  • 在列表中,选择 OpenSSH Client 或 OpenSSH Server。
  • 选择卸载。

通过PowerShell卸载OpenSSH

# 卸载 OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# 卸载 OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

如果服务卸载时正在使用,您可能需要在卸载后重新启动Windows。