当我试图通过PowerShell在Windows 10上启动ssh-agent时,通过输入start - service ssh-agent我得到了错误

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

当我通过Get-Service ssh-agent检查服务是否正在运行时,返回服务已停止。

如何让ssh代理运行?


当前回答

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

你可以通过运行Windows PowerShell来检查:

> Get-Service ssh-agent

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

Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agent

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

> Get-Service ssh-agent | Select StartType

StartType
---------
Disabled

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

 > Get-Service -Name ssh-agent | Set-Service -StartupType Manual

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

其他回答

我通过Set-Service ssh-agent -StartupType Manual将ssh-agent的StartupType更改为Manual解决了这个问题。

然后我可以通过start - service ssh-agent或ssh-agent.exe启动服务。

我在Cygwin中得到了同样的错误。我必须在Cygwin安装程序中安装openssh包。

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

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

你可以通过运行Windows PowerShell来检查:

> Get-Service ssh-agent

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

Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agent

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

> Get-Service ssh-agent | Select StartType

StartType
---------
Disabled

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

 > Get-Service -Name ssh-agent | Set-Service -StartupType Manual

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

这恰好发生在我身上,因为我在非管理员Powershell中运行该命令。使用管理权限运行它可以解决这个问题

要解决这个问题,只需遵循以下几个步骤:

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

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

现在在Powershell中写入

4 => Set-Service ssh-agent -StartupType Manual

您将发现状态运行..希望能帮助解决这个问题。