Windows 11 默认集成但可能未启用SSH客户端,可通过设置→可选功能勾选安装,或用PowerShell执行Add-WindowsCapability命令安装,验证需运行ssh -V查看版本,并可配置~/.ssh/config简化连接。

如果您希望在 Windows 11 系统中启用 SSH 功能以支持远程连接或开发调试,则需明确区分客户端与服务端用途:客户端用于连接其他 SSH 服务器,服务端用于被其他设备连接。本文聚焦于开启 SSH 客户端功能(即本地发起 SSH 连接的能力),该功能在 Win11 中默认已集成但可能未启用。以下是实现此目标的多种方法:
一、通过系统设置启用OpenSSH客户端
该方式采用图形界面操作,适合不熟悉命令行的用户,直接调用系统内置组件安装流程。
1、点击“开始”菜单,在搜索栏输入“可选功能”,然后选择“可选功能”设置项。
2、在“可选功能”页面中,点击右上角“查看功能”按钮。
3、在弹出的功能列表中,滚动查找并勾选OpenSSH 客户端 (OpenSSH Client)选项。
4、点击“下一步”,再点击“安装”,等待进度完成并提示成功。
二、使用PowerShell命令安装OpenSSH客户端
该方式适用于批量部署、脚本自动化或快速验证环境状态,命令执行后可立即确认安装结果。
1、以管理员身份打开 PowerShell:右键“开始”按钮,选择“终端(管理员)”。
2、执行以下命令检查当前系统是否已存在 OpenSSH 客户端功能:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'
3、若返回结果中 State 字段为 Not Present,则运行以下命令进行安装:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
4、安装完成后,输出应显示 State : Installed。
三、验证OpenSSH客户端是否可用
安装完成后需确认客户端二进制文件已注册至系统路径,并能正常响应基础命令,避免后续开发工具调用失败。
1、打开任意 PowerShell 或 CMD 窗口(无需管理员权限)。
2、输入以下命令并回车:
ssh -V
3、若正确输出类似 OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2 的版本信息,则表明客户端已就绪。
4、进一步测试连接能力,例如尝试连接本地回环(需已启用服务端)或公开测试主机:
ssh -o ConnectTimeout=5 -o BatchMode=yes nobody@localhost 2>&1 | findstr "Connection refused"
四、配置SSH客户端默认行为(可选)
为提升开发效率,可通过编辑用户级配置文件统一设定常用参数,如默认用户名、端口、密钥路径等,避免每次连接重复输入。
1、在 PowerShell 中执行以下命令创建默认配置目录:
if (!(Test-Path "$env:USERPROFILE\.ssh")) { New-Item -ItemType Directory -Path "$env:USERPROFILE\.ssh" }
2、使用记事本创建或编辑配置文件:
notepad $env:USERPROFILE\.ssh\config
3、在打开的文件中添加如下内容(示例为连接某开发服务器):
Host dev-server
HostName 192.168.10.50
User devuser
Port 22
IdentityFile ~/.ssh/id_ed25519
4、保存文件后,即可直接运行 ssh dev-server 快速连接。
五、排查客户端常见问题
当 ssh 命令无法识别或报错时,通常源于路径未注册、功能未启用或权限异常,需按顺序定位根源。
1、检查系统环境变量 Path 是否包含 C:\Windows\System32\OpenSSH\:
$env:Path -split ';' | Select-String -Pattern 'OpenSSH'
2、若无匹配结果,手动将该路径追加至用户环境变量中。
3、确认当前账户对 C:\Windows\System32\OpenSSH\ssh.exe 具有读取与执行权限。
4、若仍报错“ssh 不是内部或外部命令”,重启终端或注销当前用户重新登录。









