c# - 使用 SSH.NET 库使用 .ppk 私钥进行身份验证
问题描述
我正在尝试使用.ppk
格式私钥使用 Renci.SshNet 库从我的 .NET 代码登录到远程 SFTP 服务器。它显示错误。
我知道它将适用于 .PEM 格式。但是由于应用程序的密钥是由客户端生成的,所以我无法更改格式。
有没有办法使用 .ppk 私钥从我的 .NET C# 代码验证和上传文件?
有合适的图书馆吗?
解决方案
如果您想继续使用 SSH.NET,它必须是 PEM 格式。所以他们要么生成 PEM 格式的密钥。或者至少他们将其转换为 PEM 格式。否则您的软件将不得不对其进行转换。
我不知道任何可以进行转换的库。我只能建议您使用捆绑一些可以执行此操作的命令行工具。例如我的WinSCP 可以做到这一点。
请参阅在 Windows 中自动/脚本/命令行将 .pem 密钥文件转换为 .ppk。
如果要更改库,可以使用我的WinSCP .NET 程序集。它支持.ppk
键。但它只是 WinSCP 本身的一个包装器。所以它与使用 WinSCP 进行转换大致相同。
推荐阅读
- python - DRF select_related 和 prefetch_related 不起作用
- regex - 我想在 JS 中使用正则表达式精确匹配字符?
- node.js - 撤销 Keycloak 访问令牌
- javascript - 如何让我的不和谐机器人只对某个用户 ID 做出反应?
- javascript - 使用数组减少查找匹配元素
- python - 根据概率将字符串拆分为不同的 ngram(python)
- google-cloud-platform - Dataprep - 处理后缺少行
- excel - 将单元格区域保存在另一个工作表中
- c++ - linux驱动程序检查过程是活着的
- c# - 初始化列表中的多个实例