Аутентификация с использованием закрытого ключа .ppk с использованием библиотеки SSH.NET

Я пытаюсь войти на удаленный SFTP-сервер из моего кода .NET, используя библиотеку Renci.SshNet, используя закрытый ключ формата .ppk. Он показывает ошибку.

Я знаю, что это будет работать с форматом .PEM. Но поскольку ключ для приложения генерируется клиентом, я не могу изменить формат.

Есть ли способ использовать закрытый ключ .ppk для аутентификации и загрузки файла из моего кода .NET C#?

Любая подходящая библиотека?


person Metallic Skeleton    schedule 22.06.2020    source источник


Ответы (1)


Это должен быть формат PEM, если вы хотите продолжать использовать SSH.NET. Так что либо они генерируют ключ в формате PEM. Или, по крайней мере, они конвертируют его в формат PEM. Или ваше программное обеспечение должно будет преобразовать его.

Я не знаю ни одной библиотеки, которая может выполнить преобразование. Все, что я могу предложить, это использовать пакетный инструмент командной строки, который может это сделать. Например, мой WinSCP может это сделать.
См. Преобразование файла ключа .pem в .ppk в Windows автоматически/скрипт/командная строка.


Если вы хотите изменить библиотеку, вы можете использовать мою сборку WinSCP .NET. Он поддерживает клавиши .ppk. Но это всего лишь оболочка вокруг самого WinSCP. Так что это примерно то же самое, что и использование WinSCP для преобразования.

person Martin Prikryl    schedule 23.06.2020