Я пишу утилиту на C#, которая должна автоматически подключаться к серверу через SSH (с помощью SSH.NET) , который был в основном безболезненным процессом. Сервер принудительно использует аутентификацию с открытым ключом (сервер принадлежит мне, я полностью физически контролирую его), так что только несколько человек могут получить к нему доступ.
В Windows мы все настроили Pageant для связи с моим сервером с помощью TortoiseGit, поэтому для меня было бы целесообразно просто прочитать уже разблокированный закрытый ключ в памяти из Pageant вместо того, чтобы снова запрашивать пароль каждый раз, когда я хочу для отладки/запуска утилиты.
Пока самое близкое, что я нашел, это этот модуль Python от Paramiko, который проверяет наличие окна Pageant и предоставляет методы отправки и получения. Это должно быть достаточно просто для переноса на C#, но мне интересно, какую команду мне нужно отправить в Pageant, чтобы получить ключ?
Просматривая Paramiko, это не сразу становится очевидным, и я не могу найти какую-либо документацию для программной работы с Pageant. Ответы не обязательно должны быть на C#, но если они есть, это избавит меня от необходимости писать для него небольшую утилиту.
net-ssh
github. com/net-ssh/net-ssh/blob/master/lib/net/ssh/ - person Factor Mystic   schedule 16.12.2012