4

SSH 接続に使用する Windows サービスが 1 つありますがplink.exe、Plink が実行中の Pageant を見つけられないことがわかりました。

これが私がこれまでに行った手順です。

  1. 特定のユーザーとして実行する Windows サービスをインストールする
  2. Windows サービスを開始する前に、そのユーザーとしてログインし、PuTTY で生成されたキーを使用して Pageant を開始します。
  3. 次に、Windows サービスを開始します (ただし、Plink が Pageant を見つけられず、サーバーがNo supported authentication Methods availableとして応答しないため、機能させることができません)。

注:そのユーザーで Windows サービスをコンソール アプリケーションとして実行すると、すべて正常に動作します。

4

3 に答える 3

4

PLinkはサービスセッション(Session \ 0)で実行され、ページェントはユーザーセッション(Session \ 1)で実行されます。Plinkは、問題からわかるように、セッション間で機能しないプロセス間通信を使用します。ほとんどの場合、内部にMMF通信があり、オブジェクトはプレフィックスなしで作成されます。つまり、セッションのみ(グローバルではない)になります。この問題を解決するには、カスタムバージョンのplinkを作成する必要があります。

于 2012-08-02T11:17:03.693 に答える
2

@Eugene 指摘しているように、それはSession 0 Isolationです。

エージェントを使用せず、秘密鍵とパスワードを に直接渡すことで問題を解決できましたplink.exe。そうすることで、 を使わずに走れるようになりましたpageant

plink.exeエージェントなしで開始するには;

plink.exe -noagent -i private_key.ppk -pw mypassword -P 1234 user@host.com
于 2012-08-07T01:56:52.017 に答える