在Windows 10上启动ssh-agent失败:"无法启动ssh-agent服务,错误:1058"

que*_*tzt 43 ssh service openssh windows-10

当我尝试通过PowerShell在Windows 10上启动ssh-agent(右侧或不右侧),输入Start-Service ssh-agent我得到错误

无法启动ssh-agent服务,错误:1058

当我检查服务正在运行时,Get-Service ssh-agent返回该服务已停止.

如何让ssh-agent运行?

Don*_*Mee 91

是的,正如其他人所建议的那样,这个错误似乎意味着安装了ssh-agent但它的服务(在Windows上)还没有启动.

您可以通过运行来检查:

> Get-Service ssh-agent
Run Code Online (Sandbox Code Playgroud)

然后检查输出状态是否未运行.

Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agent
Run Code Online (Sandbox Code Playgroud)

然后通过运行检查服务是否已被禁用

> Get-Service ssh-agent | Select StartType

StartType
---------
Disabled
Run Code Online (Sandbox Code Playgroud)

我建议将服务设置为手动启动.这意味着只要您运行ssh-agent,它就会启动该服务.您可以通过Services GUI执行此操作,也可以在管理员模式下运行该命令:

 > Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Run Code Online (Sandbox Code Playgroud)

或者,如果您愿意,可以通过GUI进行设置.

在此输入图像描述

  • 我收到错误“Set-Service:由于以下错误,无法配置服务‘OpenSSH 身份验证代理 (ssh-agent)’:访问被拒绝。”。不过,通过 GUI 执行此操作没有任何问题。 (5认同)
  • 我认为这意味着您没有使用管理外壳 (3认同)
  • Windows 10 更新 2004 后,此功能被重置为“禁用”,并且必须重复这些说明。 (3认同)
  • 对于那些想知道如何访问 GUI 的人,只需:调出开始菜单 --> 输入 Services --> 找到 OpenSSH Authentication Agent 服务 (3认同)
  • 是的,我没有使用管理外壳。 (2认同)

que*_*tzt 32

我改变的ssh-agent的StartupType来解决了这个问题Manual通过Set-Service ssh-agent -StartupType Manual.

然后我就可以通过Start-Service ssh-agent或只是启动服务ssh-agent.exe.

  • 请确保以 **管理员** 访问权限运行命令 (10认同)
  • 默认情况下,该服务在 Windows 10 中处于禁用状态。您需要将其启动类型设置为手动,因为它在禁用时仍会启动。 (3认同)
  • 已被禁用,现在是手动的,已为我修复。 (2认同)
  • 我收到错误“Set-Service”未被识别为内部或外部命令。这种情况我该怎么办 (2认同)
  • @Code_Ninja 使用 PowerShell 而不是 CMD (2认同)

bet*_*pfa 7

我在Cygwin中遇到同样的错误。我必须在 Cygwin Setup 中安装 openssh 包

(奇怪的是,所有ssh-*命令都是有效的(bash 可以作为程序执行),但未安装 openssh 软件包。)


she*_*han 7

要解决此问题,只需执行几个步骤:

1 => 以管理员身份打开 Window Powershell 并写入

2 => Get-Service ssh-agent //(你会发现状态已停止)

3 => 现在在 Powershell 中写入

4 => 设置服务 ssh-agent -StartupType 手动

您会发现状态正在运行..希望有助于解决问题。


小智 5

在此添加,如果您遇到此问题并start-ssh-agent在 PowerShell 中运行,它将“切换”到 cmd(而不是 powershell)之类的功能,直到您exit通过上一个命令启动批处理作业。如果不这样做,您将无法再访问 PowerShell 函数,并且会收到如下错误:'Get-Service' is not recognized as an internal or external command, operable program or batch file

在此输入图像描述