1

简而言之问题:运行 plink(带有特定参数)从 cmd 工作,但不能从 asp.net

正在执行的命令:“C:\Program Files (x86)\PuTTY\plink.exe” -batch abc@xyz ./fake_email.sh

从 cmd,命令正确执行,fake_email.sh 返回“0”。从 asp.net 我得到以下错误:服务器的主机密钥未缓存在注册表中。您无法保证服务器就是您认为的计算机。服务器的 rsa2 密钥指纹为:ssh-rsa 2048 序列 已放弃连接。

我认为这与用户(.net 用于启动进程)无法“看到”选美提供的密钥有关。我以管理员身份运行 cmd。

我很高兴发布更多信息。

谁能指出我正确的方向?

谢谢你的帮助。

4

1 回答 1

0

解决了。

默认情况下,asp.net 以“NetworkService”用户身份执行进程。我无法缓存该用户的密钥,所以我决定创建一个新用户,我将其指定为 IIS 中应用程序池的标识。因为我创建了这个用户,所以我能够在注册表中缓存密钥(仅使用 cmd)。

于 2010-12-07T10:09:29.363 回答