带证书身份验证的 .NET SSH

.NET SSH with certificate authentication

我正在寻找一种在 .NET 中使用 SSH 证书对 OpenSSH SFTP 服务器进行身份验证的方法。

我可以在 linux 或 Windows 的较新版本的命令行上执行此操作:

sftp -o CertificateFile=~/.ssh/sftpuser-cert.pub -i ~/.ssh/sftpuser sftpuser@xxx.xxx.xxx.xxx

但我似乎无法找到一种方法来做同样的事情,或者我是来自多个供应商的 misreading/misunderstanding 文档。谁能 post 举例说明如何做到这一点?具体来说,我不是在询问在 .NET 中使用 SSH 密钥进行身份验证,而是使用“OpenSSH”格式的证书。

“证书” 是 OpenSSH 的专有功能。这不是标准的 SSH 东西。标准 SSH 使用纯密钥文件。

其他 clients/libraries 很少支持 OpenSSH 证书。