Windows 10/11 上的 SSH 客户端安装在所谓的可选功能中。这可以通过在开始菜单中搜索“可选功能”来实现。SSH 客户端可以在“添加功能”下找到。但是,我们将使用命令行方法来设置 SSH。
无论您使用的是 Windows 10 还是 11,右键单击“开始”按钮并选择 Windows 终端(管理员)或 PowerShell(管理员)
要知道您的 Windows 系统上是否已经安装了 OpenSSH,请运行以下命令:
Get-WindowsCapability -Online | Where-Object Name -like \'OpenSSH*\'
在我们的例子中,客户端已安装,但 OpenSSH 服务器未安装。如果相同,则进入下一步。
我们已经给出了两个命令来激活这个开源 SSH 工具的客户端或服务器部分。
# 安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
要使 OpenSSH 服务在系统启动时自动启动并运行,请使用以下命令:
启动服务 sshd
将服务标记为自动启动:
Set-Service -Name sshd -StartupType \'Automatic\'
将给定的命令块粘贴到 Powershell 中,然后按Enter键。虽然防火墙规则会在安装 OpenSSH 服务器时自动配置,但仍需确认它运行给定的命令。如果防火墙规则已经存在,那么您将收到“防火墙规则 \’OpenSSH-Server-In-TCP\’ 已创建并存在”作为回报。
if (!(Get-NetFirewallRule -Name \"OpenSSH-Server-In-TCP\" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { Write-Output \"Firewall Rule \'OpenSSH-Server-In-TCP\' does not exist, creating it...\" New-NetFirewallRule -Name \'OpenSSH-Server-In-TCP\' -DisplayName \'OpenSSH Server (sshd)\' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 } else { Write-Output \"Firewall rule \'OpenSSH-Server-In-TCP\' has been created and exists.\" }
现在,我们可以通过使用其他计算机或虚拟机连接来测试我们的服务器。只需打开可以访问已安装 SSH 服务器的 IP 地址的 Linux、macOS 或 Windows 的命令行,并使用以下给定的语法进行连接。
ssh username@ip-address/servername
例如:
ssh h2s@ 192.168.43.252
这里我们使用 Ubuntu Linux 通过 SSH 服务器连接 Windows 命令行。
如果您想在 Windows 10 或 11 上禁用或卸载 OpenSSH 服务器/客户端功能,请遵循以下命令。再次以管理员身份打开 Powershell 并运行以下所需的程序。
#删除OpenSSH客户端
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~ 0.0。1.0
#删除OpenSSH服务器
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~ 0.0。1.0