2

私はC#でユーティリティを作成しています。このユーティリティは、SSH経由で(SSH.NETを使用して)サーバーに自動的に接続する必要があります。これは、ほとんど苦痛のないプロセスです。サーバーは公開鍵認証を強制し(サーバーは私のものであり、私は完全な物理的制御を持っています)、少数の人だけがそれにアクセスできるようにします。

Windowsでは、TortoiseGitを使用してサーバーと通信するようにPageantが設定されているため、必要なたびにパスワードを再度要求するのではなく、Pageantからロック解除されたメモリ内の秘密鍵を読み取るだけで意味があります。ユーティリティをデバッグ/実行します。

これまでのところ、私が見つけた最も近いものは、Pageantウィンドウの存在をチェックし、sendメソッドとreceiveメソッドを公開するParamikoのこのPythonモジュールです。これはC#に移植するのに十分簡単なはずですが、キーを受け取るためにPageantに送信する必要があるコマンドを正確に知りたいのですが

Paramikoを見ると、これはすぐにはわかりません。また、プログラムでPageantを操作するためのドキュメントも見つかりません。回答はC#である必要はありませんが、そうである場合は、小さなユーティリティを作成する必要がなくなります。

4

1 に答える 1

2

Pageantから秘密鍵を読み取るのではなく、Pageantに署名の計算を依頼します。これには、クライアントのソースコードの変更が必要です。

SecureBlackbox製品の最新バージョンでは、.NET用のSSHおよびSFTPクライアントコンポーネントにPageantおよびssh-agentのサポートが追加されているため、これらを確認することをお勧めします。

于 2012-12-16T07:57:30.857 に答える