当我试图通过PowerShell在Windows 10上启动ssh-agent时,通过输入start - service ssh-agent我得到了错误
无法启动ssh-agent服务,错误:1058
当我通过Get-Service ssh-agent检查服务是否正在运行时,返回服务已停止。
如何让ssh代理运行?
当我试图通过PowerShell在Windows 10上启动ssh-agent时,通过输入start - service ssh-agent我得到了错误
无法启动ssh-agent服务,错误:1058
当我通过Get-Service ssh-agent检查服务是否正在运行时,返回服务已停止。
如何让ssh代理运行?
当前回答
在这里添加,如果你有这个问题,并在PowerShell中运行start-ssh-agent,它将“切换”到cmd(而不是PowerShell)功能,直到你退出由上一个命令启动的批处理作业。 如果你不这样做,你就不能再访问PowerShell函数,并将得到如下错误:' get - service '不能被识别为内部或外部命令、可操作的程序或批处理文件
其他回答
在这里添加,如果你有这个问题,并在PowerShell中运行start-ssh-agent,它将“切换”到cmd(而不是PowerShell)功能,直到你退出由上一个命令启动的批处理作业。 如果你不这样做,你就不能再访问PowerShell函数,并将得到如下错误:' get - service '不能被识别为内部或外部命令、可操作的程序或批处理文件
是的,正如其他人所建议的,这个错误似乎意味着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中运行该命令。使用管理权限运行它可以解决这个问题
我在Cygwin中得到了同样的错误。我必须在Cygwin安装程序中安装openssh包。
(奇怪的是,所有ssh-*命令都是有效的,(bash可以作为程序执行),但openssh包没有安装。)
我通过Set-Service ssh-agent -StartupType Manual将ssh-agent的StartupType更改为Manual解决了这个问题。
然后我可以通过start - service ssh-agent或ssh-agent.exe启动服务。