我在C#中編寫了一個實用程序,需要通過SSH自動連接到服務器(使用SSH.NET),這一直是一個非常輕鬆的過程。服務器強制公鑰認證(服務器是我的,我有完全的物理控制),這樣只有少數人可以訪問它。從選美中讀取私人SSH密鑰
在Windows上,我們都設置了用於使用TortoiseGit與我的服務器進行通信的Pageant,因此我只需從Pageant中讀取已解鎖的內存中私鑰而不要求重新輸入密碼每次我想調試/運行該實用程序。
到目前爲止,我發現的最接近的東西是this Python module from Paramiko,它檢查Pageant窗口的存在並公開發送和接收方法。這應該很容易移植到C#,但我很想知道什麼命令我需要發送給Pageant以接收密鑰?
通過Paramiko看,這不是直接顯而易見的,我找不到任何以編程方式使用Pageant的文檔。答案不一定要在C#中,但如果它們是,它將使我不必爲它編寫一個小型實用程序。
另一個參考是'net-ssh' https://github.com/net-ssh/net-ssh/blob/master/lib/net/ssh/authentication/pageant.rb –