使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter以管理员权限打开 PowerShell 窗口。

执行以下命令查看 OpenSSH 安装状态:

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

如果返回NotPresent,表示未安装;返回Installed则表示已安装。

根据需要安装 OpenSSH 客户端和服务器组件:

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

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

在 Windows 中配置 OpenSSH 服务器

当你在 Windows 上安装了 OpenSSH 服务器之后,需要进行一些配置才能接受连接:

使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter以管理员权限打开 PowerShell。

设置 SSHD 服务自动启动:

Set-Service -Name sshd -StartupType 'Automatic'

启动 SSHD 服务:

Start-Service sshd

检查 SSH 服务器是否在侦听 22 端口:

netstat -an | findstr /i ":22"

确保 Windows Defender 防火墙允许 TCP 22 端口的入站连接:

Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled

如规则丢失或被禁用,可以创建新规则:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

(可选)如果要修改配置,如设置用户访问权限,可以编辑sshd_config配置文件:

Start-Process Notepad C:\Programdata\ssh\sshd_config

完成更改后,重启 SSHD 服务应用配置:

Restart-Service sshd

在Windows 10上,虽然默认情况下SSH服务不允许空密码登录,但你可以通过修改OpenSSH的配置来允许这种方式的登录。以下是具体步骤:

编辑sshd_config文件: 打开Windows资源管理器,转到 C:\ProgramData\ssh 目录,找到名为 sshd_config 的文件,使用文本编辑器(如Notepad)打开它。
找到PermitEmptyPasswords选项: 在打开的文件中,查找 PermitEmptyPasswords 这一行。如果找不到该行,可以在文件末尾添加它。
启用空密码登录: 将 PermitEmptyPasswords 的值改为 yes。如果没有该选项,可以在文件末尾添加以下行:

PermitEmptyPasswords yes

保存并关闭文件: 保存对文件的更改,并关闭文本编辑器。
重启SSH服务: 打开命令提示符或PowerShell,并运行以下命令来重启SSH服务:

Restart-Service sshd