windows 10需启用内置openssh客户端才能使用ssh命令:通过“设置→应用→可选功能”安装,或用管理员powershell执行add-windowscapability命令;安装后用ssh -v验证,再以ssh user@ip[-p port]连接远程主机,首次连接需确认主机指纹并输入密码。

如果您希望在 Windows 10 中使用内置的 OpenSSH 客户端进行远程连接,但命令行输入 ssh 提示“不是内部或外部命令”,则说明 OpenSSH 客户端尚未启用。以下是启用客户端并完成远程连接的具体操作步骤:
一、确认并安装 OpenSSH 客户端
OpenSSH 客户端作为可选功能存在于 Windows 10 系统中,需手动启用。该组件未预装时,ssh 命令不可用,必须通过系统设置或 PowerShell 显式安装。
1、点击“开始”菜单,进入“设置”→“应用”→“可选功能”。
2、点击页面右上角“添加功能”按钮,在搜索框中输入 OpenSSH 客户端。
3、在结果列表中勾选“OpenSSH 客户端”,点击“安装”按钮等待完成。
4、安装完毕后,打开 PowerShell 或命令提示符,输入 ssh -V。若显示版本号(如 OpenSSH_9.2p1),即表示安装成功。
二、使用 PowerShell 命令行安装客户端
当图形界面操作受限(如无桌面环境或批量部署场景)时,可通过管理员权限的 PowerShell 快速启用客户端。此方法绕过设置界面,直接调用系统能力接口,可靠性更高。
1、按 Win + X,选择“Windows PowerShell(管理员)”或“终端(管理员)”。
2、执行以下命令:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
3、等待输出中出现 State : Installed 字样,表示安装完成。
4、关闭并重新打开 PowerShell,再次运行 ssh -V 验证可用性。
三、执行远程 SSH 连接
客户端启用后,即可通过标准 SSH 协议连接任意支持 SSH 的远程主机。连接过程依赖用户名、IP 地址(或域名)及认证方式,首次连接会验证主机密钥以防止中间人攻击。
1、在 PowerShell 或 CMD 中输入连接命令:ssh 用户名@服务器IP地址,例如 ssh admin@192.168.1.50。
2、首次连接时,系统将提示:“The authenticity of host '192.168.1.50' can't be established... Are you sure you want to continue connecting (yes/no/[fingerprint])?” 此时输入 yes 并回车。
3、输入远程主机对应用户的登录密码(即该账户在目标系统的开机密码)。
4、若密码正确且服务端 SSH 服务运行正常,终端将显示远程主机的命令提示符,表示连接已建立。
四、指定非默认端口连接
部分远程服务器为安全起见修改了 SSH 服务监听端口(非标准 22 端口),此时仅提供 IP 地址无法建立连接,必须显式声明端口号,否则客户端将持续尝试 22 端口并超时失败。
1、确认远程服务器实际开放的 SSH 端口(如管理员告知为 2222 或通过端口扫描获知)。
2、在连接命令末尾添加 -p 端口号 参数,例如:ssh user@192.168.1.50 -p 2222。
3、后续步骤与标准连接一致:确认主机指纹、输入密码、进入远程会话。
五、配置防火墙放行出站连接(可选)
虽然客户端本身不监听端口,但在某些企业网络或高安全策略环境中,本地防火墙可能限制对特定目标端口(如 22 或自定义 SSH 端口)的出站连接。此时连接会卡在“Connecting to…”状态,需手动放行。
1、以管理员身份运行 PowerShell。
2、执行以下命令创建出站规则(以默认 22 端口为例):
New-NetFirewallRule -DisplayName "Allow SSH Out" -Direction Outbound -Protocol TCP -LocalPort 22 -Action Allow
3、如需放行其他端口(如 2222),将命令中 LocalPort 22 替换为对应数值。










