在Windows服务中调用时ssh失败

时间:2011-03-26 13:13:23

标签: windows-services ssh

我正在调用调用cmd的{​​{1}}文件来与Linux机器进行互通。我使用.NET ssh类来完成此任务。但是在Windows服务调用中调用失败时出现以下错误:

Process

当我将应用程序作为控制台应用程序启动时,一切正常。

这种失败可能是什么原因以及如何解决这个问题?

编辑所有Windows服务都必须这样做 - 以某种方式杀死Linux机器上的预定义守护进程

由于

修改

那里描述的类似问题:http://www.velocityreviews.com/forums/t714254-executing-commands-from-windows-service.html

2 个答案:

答案 0 :(得分:6)

也许这篇文章可以节省一些时间来解决类似的问题。我终于找到了对我有用的解决方案。它是ssh -n密钥

所以而不是

ssh -o StrictHostKeyChecking=no -i private_linux_key user@host "ls"

我用过

ssh -n -o StrictHostKeyChecking=no -i private_linux_key user@host "ls"

它仍然看起来像一个魔术,但它的确有效!

答案 1 :(得分:0)

这不是访问凭据的问题吗?

当您将程序作为控制台应用程序运行时,您正在使用当前登录用户的访问权限。但是,Windows服务在特殊用户帐户(通常为“SYSTEM”)中执行,因此未授予相同的访问权限。