2011-12-06 62 views
1

我在我的開發機器上啓用了Windows遠程處理,使用FreeSSHd和PuTTY作爲SFTP服務器和客戶端。我只使用公共身份驗證,將私鑰加載到PuTTY的選美中。windows的PowerShell的遠程處理失敗調用PuTTY

我使用Windows Powershell Remoting來使用C#代碼(使用Powershell自動化組件&命名空間)調用PuTTY的PSFTP命令行工具(在PATH環境系統變量中具有PuTTY的二進制文件夾)。

如果我打開Windows PowerShell中並執行這個調用: 調用命令-computername 127.0.0.1 -FilePath C:\ TEMP \ SFTP \ invoke.ps1

我得到一個錯誤:

Fatal: Disconnected: No supported authentication methods available (server sent: 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

(解決方法)

這似乎是與遠程PowerShell會話(PowerShell的管道)和命令的組合的問題,該會話內被調用。我使用PageAnt從私鑰獲取解密的簽名,但看着日誌,似乎PSFTP無法「看到」PageAnt,導致驗證失敗。

我解決了這個問題(關於安全性並不是非常值得推薦的,但這都在安全/非互聯網環境中):我使用PSFTP -i選項來顯示私鑰位置,使用-pw選項來提供密碼。然後通話成功。

希望有更好的辦法做到這一點...