首页 > 解决方案 > 使用 SSH.NET 库使用 .ppk 私钥进行身份验证

问题描述

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

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

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

有合适的图书馆吗?

标签: c#sshsftpssh-keysssh.net

解决方案


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

我不知道任何可以进行转换的库。我只能建议您使用捆绑一些可以执行此操作的命令行工具。例如我的WinSCP 可以做到这一点
请参阅在 Windows 中自动/脚本/命令行将 .pem 密钥文件转换为 .ppk


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


推荐阅读