Как проверить, программно ли с закрытым ключом SSH пароль с C # в Windows 10 - PullRequest
0 голосов
/ 27 октября 2018

Я уже знаю, что есть пара подобных вопросов, но в ответах есть образец, согласно которому в ответах предполагается, что эта проверка выполняется в Linux или аналогичной системе. Это означает, что они ссылаются на ssh-keygen как на решение. Это не жизнеспособно в этом случае.

Разрабатываемая мной клиентская программа должна принять ссылку на файл закрытого ключа и затем запросить у пользователя пароль, если он необходим. Эта программа написана на C # под Windows 10. Язык и ОС не являются обязательными. Для аутентификации SSH используется библиотека Renci.SSH (также не является обязательной). Все, что я могу сделать, это передать текстовый файл и проанализировать его. Другие ответы (и пример, который я только что создал с PuTTY Gen) предполагают, что файл будет содержать в заголовке следующее: Proc-Type: 4, зашифрованный

Но дальнейшее чтение предполагает, что это не надежный тест. Вот где я читаю: Как проверить, есть ли у секретного ключа SSH пароль или нет? В моем контексте использования ответ Jakuje (ssh-keygen -yf) не является приемлемым решением.

Очевидно, что мне нужен фактический алгоритм, используемый ssh-keygen с параметром -yf. Кто-нибудь знает, где я могу найти это? Или может представить это здесь способом, независимым от языка программирования?

...