Win10 安装 OPENSSH 实现 SSH 远程登录

OPenSSH 是一款用于远程登录的连接工具,它使用 SSH 协议, 它会加密客户端与服务器之间的所有流量,从而遏止窃听、连接劫持和其他攻击,OpenSSH 可用于将安装了 OpenSSH 客户端的 Window 10(版本 1809 及更高版本)或 Windows Server 2019 设备连接到那些安装了 OpenSSH 服务器的设备。

适用系统:适用于 Windows Server 2019、Windows 10、Windows Server 2022

安装方法一

可以使用 Windows Server 2019 和 Windows 10 设备上的 Windows 设置安装这两个 OpenSSH 组件,若要安装 OpenSSH 组件,操作如下:

在系统内打开“设置”,选择“应用”>“应用和功能”,然后选择“可选功能 ”,搜索“OpenSSH”,查看是否已安装 OpenSSH, 如果未安装,请在页面顶部选择“添加功能”,然后:

查找“OpenSSH 客户端”,再单击“安装”,查找“OpenSSH 服务器”,再单击“安装”,设置完成后,回到“应用”>“应用和功能”和“可选功能”,你应会看到已列出 OpenSSH ,如下图:

安装方法二

使用 PowerShell 进行安装 OpenSSH 客户端,请先以管理员身份运行 PowerShe,为了确保 OpenSSH 可用,请运行以下 cmdlet:

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

如果两者均尚未安装,则此操作应返回以下输出:

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

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

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

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

安装完成后,这两者应该都会返回以下输出:

Path :
Online: True
RestartNeeded: False

配置 OpenSSH

若要启动并配置 OpenSSH 服务器来开启使用,请以管理员身份打开 PowerShell,然后依次运行以下命令来启动 sshd service:

Start-Service sshd

Set-Service -Name sshd -StartupType 'Automatic'

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."
}

连接 OpenSSH

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

ssh 用户名@服务器IP地址或网址

输入密码连接后,会收到确定要继续连接的提示,输入 YES 继续。

卸载 OpenSSH

已管理员身份打开 PowerShell 卸载 OpenSSH 组件,依次使用以下命令:

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

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

如果在卸载时服务正在使用中,稍后可能需要重启系统。