Windows系统SSH命令报错解决方案:安装、配置与环境变量设置
在Windows系统中使用SSH命令时,用户可能会遇到'ssh' 不是内部或外部命令的报错,这通常是由于系统未安装或未正确配置OpenSSH客户端导致的。本文将详细介绍如何解决这一问题。
今天在使用VSCODE remote-ssh插件连接服务器的时候报错:
[20:11:57.288] Got error from ssh: spawn C:\Windows\System32\OpenSSH\ssh.exe ENOENT ... [20:11:57.295] Finding installed ssh failed: ssh installation not found ... [SshInstall]: Error: SshInstall (ssh installation not found)
这个报错的意思是 **VSCode 的 Remote-SSH 插件在系统里找不到 ssh.exe**,不是服务器连不上,是本地环境问题。
ssh -V 回车。OpenSSH_for_Windows_8.6p1),说明已安装,问题出在 VSCode 没找到路径。用管理员权限打开 PowerShell,执行:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
安装完成后,可通过以下命令验证安装状态:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'
若已安装OpenSSH但仍报错,可能是环境变量未生效。
C:\Windows\System32\OpenSSH)。Path,编辑并添加OpenSSH路径。ssh -V验证是否生效。若需将Windows作为SSH服务器,需额外安装OpenSSH服务器组件。
用管理员权限打开 PowerShell,执行:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
安装完成后,需配置防火墙规则以允许TCP 22端口:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
安装成功后,在终端输入以下命令测试:
bash复制ssh -V # 查看版本
ssh username@remote_ip # 测试连接远程服务器
若显示版本信息或成功连接,则问题解决。