宋承宪 是一种远程管理协议和工具,提供对远程系统的安全命令行访问。SSH是为Linux和Unix系统创建的,但在网络路由器、网络交换机等其他系统上得到了普及。创建了不同的3d party软件来运行 SSH客户端 和 SSH服务器 在Windows操作系统上,但它们应该从其他供应商的外部安装。最新版本的Windows操作系统也支持SSH客户端和SSH服务器作为内置的。在本教程中,我们将研究如何为Windows 10和Windows server 2016/2019安装或启用内置SSH服务器。
从Windows功能(GUI)安装/启用SSH服务器
SSH服务器或OpenSSH服务器由Windows 10和Windows 2019提供,应通过安装或启用 Windows功能 . 这可以通过两种方法来实现。在本部分中,我们将使用桌面上的Windows功能GUI安装SSH服务器。首先,按以下步骤打开Windows功能。
“类型” Windows功能 “”转到“开始”菜单,该菜单将列出windows功能快捷方式。
![图片[1]-如何在Windows10和WindowsServer2019中安装/启用SSH服务器?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/12/windowstect_image-38.png)
或者你可以跟着 设置 -> 应用程序 -> 应用程序和功能 -> 管理可选功能 . 找到 OpenSSH客户端 和 OpenSSH服务器 在他们身上打勾。然后单击Apply,它将同时安装SSH服务器和SSH客户机。
通过PowerShell命令行界面安装/启用SSH服务器
也可以使用从PowerShell命令行界面安装Windows功能 添加WindowsCapability 命令。我们将使用这个命令来安装SSH服务器和客户端。由于Windows功能安装需要管理权限,因此应使用管理员帐户或管理员权限打开PowerShell。首先列出 开始菜单 在其中选择“ 以管理员身份运行 “就像下面一样。
![图片[2]-如何在Windows10和WindowsServer2019中安装/启用SSH服务器?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/12/windowstect_image-39.png)
第二步检查SSH服务器和客户端是否与 获取WindowsCapability 命令如下。
Get-WindowsCapability -Online | ? Name -like '*SSH*'
此命令列出所有当前安装或启用的Windows功能,并使用“ssh”术语对它们进行过滤,其中ssh相关的功能将在下面列出。我们还可以看到可用的OpenSSH.Client和OpenSSH.Server包的版本是 0.0.2.0
.
Name : OpenSSH.Client~~~~0.0.2.0State : NotPresentName : OpenSSH.Server~~~~0.0.2.0State : NotPresent
状态显示是否已安装。“这个” 不存在 “表示未安装。从输出中我们可以看到,SSH服务器和SSH客户机都没有安装。
相关文章: Windows关机命令教程
现在我们将使用 添加WindowsCapability 下面的命令行。SSH服务器功能名为 OpenSSH.服务器 SSH客户端特性命名为 OpenSSH.服务器 .
Add-WindowsCapability -Online -Name OpenSSH.ClientAdd-WindowsCapability -Online -Name OpenSSH.Server
SSH服务器和SSH客户端安装完成后,将列出以下输出。
# Both of these should return the following output:Path :Online : TrueRestartNeeded : False
为SSH服务器配置防火墙端口
Windows默认启用本地防火墙,出于安全原因,本地防火墙只接受有限数量的端口。SSH服务器端口在默认情况下是不允许的,我们应该在其中启用它。这可以通过Windows防火墙GUI完成,但是使用PowerShell更实用,因为运行下面的PowerShell命令将打开SSH服务器端口进行通信。配置包含SSH服务器可执行文件,该文件位于 C:System32OpenSSH
名字是 sshd.exe
.
New-NetFirewallRule -Name SSH -DisplayName 'OpenSSH SSH Server Port' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:System32OpenSSHsshd.exe"
SSH服务端口防火墙配置将输出以下信息。
Name : SSHDisplayName : OpenSSH SSH Server PortDescription :DisplayGroup :Group :Enabled : TrueProfile : AnyPlatform : {}Direction : InboundAction : AllowEdgeTraversalPolicy : BlockLooseSourceMapping : FalseLocalOnlyMapping : FalseOwner :PrimaryStatus : OKStatus : The rule was parsed successfully from the store. (65536)EnforcementStatus : NotApplicablePolicyStoreSource : PersistentStorePolicyStoreSourceType : Local
检查SSH服务器服务状态
安装和防火墙配置完成后,我们将检查SSH服务器服务是否正在运行。我们将使用Get Service命令并提供SSH服务名称sshd。
Get-Service sshd
启动SSH服务器服务
SSH服务器服务可以通过PowerShell的start service命令轻松启动。
Start-Service sshd
启动后自动启动SSH服务器服务
有些服务在引导后不需要任何命令就可以自动启动。我们可以设置SSH服务器服务在引导后自动启动,如下所示 设置服务 指挥与控制 -启动类型“自动” 属性和参数。
Set-Service -Name sshd -StartupType 'Automatic'
从PowerShell卸载/禁用SSH服务器
如果您不需要SSH服务器或客户端,您可以卸载或禁用它们,这与安装的方式非常相同。您可以使用Windows功能屏幕,方法是取消选中该功能,然后单击“Apply”,这将删除SSH服务器和SSH客户机。另一种方法是以管理员权限再次使用PowerShell,安装部分对此进行了说明。我们将使用 删除WindowsCapability 指挥并提供 -姓名 属性为OpenSSH.Client和OpenSSH.Server。但是我们也只能卸载OpenSSH.Server。
# Uninstall the OpenSSH ClientRemove-WindowsCapability -Online -Name OpenSSH.Client# Uninstall the OpenSSH ServerRemove-WindowsCapability -Online -Name OpenSSH.Server
连接SSH服务器
通过使用Putty这样的GUI客户机或内置的windowssh客户机,我们可以像下面这样连接到windowssh服务器。
ssh [email protected]
通过Windows功能(可选功能)卸载Windows中的OpenSSH服务器
相关文章: PowerShell启动进程命令-运行可执行文件
通过Windows功能(可选功能)卸载Windows中的OpenSSH服务器