使用 SSH.NET 库使用 .ppk 私钥进行身份验证

Authenticate using .ppk private key using SSH.NET library

我正在尝试使用 .ppk 格式私钥使用 Renci.SshNet 库从我的 .NET 代码登录到远程 SFTP 服务器。 显示错误。

我知道它适用于 .PEM 格式。但是由于应用程序的密钥是由客户端生成的,所以我无法更改格式。

有没有办法使用 .ppk 私钥从我的 .NET C# 代码验证和上传文件?

有合适的库吗?

如果要继续使用,必须是 PEM 格式 SSH.NET。所以要么他们生成 PEM 格式的密钥。或者至少他们将其转换为 PEM 格式。否则您的软件将不得不转换它。

我不知道有任何库可以进行转换。我只能建议您使用 bundle 一些可以执行此操作的命令行工具。例如我的 WinSCP can do that.
参见


如果要更改库,可以使用我的WinSCP .NET assembly。它支持 .ppk 键。但它只是 WinSCP 本身的包装器。所以它与使用 WinSCP 进行转换大致相同。