windows powershell remoting无法调用PuTTY

时间:2011-12-06 14:15:44

标签: powershell putty powershell-remoting

我在我的开发机器上启用了Windows远程处理,使用FreeSSHd和PuTTY作为SFTP服务器和客户端。我只使用公共身份验证,在PuTTY的Pageant中加载了私钥。

我使用Windows Powershell Remoting使用C#代码(使用Powershell自动化程序集和命名空间)执行对PuTTY的PSFTP命令行工具(在PATH环境系统变量中具有PuTTY的二进制文件夹)的调用。

如果我打开Windows Powershell并执行此调用: invoke-command -computername 127.0.0.1 -filepath c:\ temp \ sftp \ invoke.ps1

我收到错误:

  

致命:已断开连接:没有可用的支持身份验证方法   (服务器发送:publickey)

检查FreeSSHd的日志时,我只看到这个:

  • 12-06-2011 14:12:04 IP 127.0.0.1 SSH连接尝试。
  • 12-06-2011 14:12:04 IP 127.0.0.1 SSH已断开连接。

1 个答案:

答案 0 :(得分:1)

(解决方法)

远程PowerShell会话(Powershell管道)与该会话中调用的命令的组合似乎是一个问题。我使用PageAnt从私钥获取解密签名,但查看日志,似乎PSFTP无法“看到”PageAnt,导致身份验证失败。

我解决了这个问题(关于安全性不是很值得推荐,但这都在安全/非互联网环境中):我使用PSFTP -i选项显示私钥位置,并使用-pw选项提供密码。然后呼叫成功。

希望有更好的方法来做这件事......