windows powershell 远程处理无法调用 PuTTY

发布于 2024-12-19 22:30:00 字数 594 浏览 2 评论 0原文

我在我的开发机器上启用了 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

我收到错误:

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

当检查 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 已断开连接。

I have windows remoting enabled on my dev machine, using FreeSSHd and PuTTY as a SFTP server and client. I am using public authentication only, having the private key loaded in PuTTY's Pageant.

I use Windows Powershell Remoting to perform a call to PuTTY's PSFTP command line tool (having the binary folder of PuTTY in the PATH environment system variable), using C# code (using the Powershell automation assembly & namespace).

If I open Windows Powershell and perform this call:
invoke-command -computername 127.0.0.1 -filepath c:\temp\sftp\invoke.ps1

I get an error:

Fatal: Disconnected: No supported authentication methods available
(server sent: publickey)

When checking FreeSSHd's log I see only this:

  • 12-06-2011 14:12:04 IP 127.0.0.1 SSH connection attempt.
  • 12-06-2011 14:12:04 IP 127.0.0.1 SSH disconnected.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烦人精 2024-12-26 22:30:00

(解决方法)

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

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

希望有更好的方法来做到这一点......

(workaround)

It seems to be an issue with the combination of a remote powershell session (the Powershell pipeline) and the command being invoked within that session. I was using PageAnt to get the decrypted signature from the private key, but looking at the log, it seems that PSFTP cannot 'see' PageAnt, which causes the authentication to fail.

I resolved this (not very recommendable regarding security, but this is all within a secure/non-internet environment): I used the PSFTP -i option to reveal the private key location, and the -pw option to provide the password. Then the call succeeds.

Hopefully there is better way doing this...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文