在Windows 11或10上安装并使用OpenSSH服务器

使用PowerShell命令行或终端启用Windows 11或10中的OpenSSH服务器和客户端功能…

Microsoft随着Windows 10的发展改变了几件事,这也显示了其对开源和Linux的泛滥。这就是为什么我们可以在Windows 10及其后继OS Windows 11中看到WSL&OpenSSH集成。

一方面,默认情况下将在Windows 11上安装和激活OpenSSH客户端,但是需要手动设置此SSH程序的服务器部分。这是一个教程,可以帮助您了解这一点。

命令在Windows 11或10中安装OpenSSH服务器和客户端

Windows 10/11上的SSH客户端安装在所谓的可选功能中。可以通过在开始菜单中搜索“可选功能”来达到这一点。可以在“添加功能”下找到SSH客户端。但是,我们将使用命令行方法来设置SSH。

打开PowerShell命令行。

无论您是在Windows 10还是11上

检查SSH服务器和客户端是否处于活动状态

要知道Windows系统是否已经安装了OpenSSH,请运行以下命令:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

客户端是在我们的情况下安装的,但是OpenSSH服务器不是。如果是这种情况,请继续下一步。

在Windows 11或10上安装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服务器服务

为了通过系统启动自动进行OpenSSH启动并自动运行,请使用以下命令:

Start-Service sshd

标记服务以自动启动:

Set-Service -Name sshd -StartupType 'Automatic'

在防火墙中配置SSH

将给定的命令块粘贴在PowerShell中,然后按Enter键。尽管在安装OpenSSH服务器时,防火墙规则将自动配置,但是确认其运行一次给定命令。如果防火墙规则已经存在,您将拥有“FireWall规则“ 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)'启用true -方向入口-protocol tcp -actor -action允许-localport 22} else {netup -ut -untup'已创建和存在。 }

连接到OpenSSH服务器

现在,我们可以使用另一台计算机或虚拟机连接服务器来测试服务器。打开可以访问已安装的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作为管理员并运行所需的命令。

Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0