5

http://code.google.com/p/msysgit/downloads/listから msysgit: Git-1.7.8-preview20111206.exe をインストールしました (編集: msysGit-fullinstall-1.7.8-preview20111206.exe もインストールしました、別のディレクトリに便利にインストールされますが、そのインスタンスでも同じ問題が発生しています)。

また、ssh-add が常に「認証エージェントへの接続を開けませんでした」と報告する ssh-agent に問題があります。

残念ながら、ssh-add は、発生したエラーの詳細を教えてくれません。ソケットに接続しようとするとタイムアウトしているように感じますが、実際にはこれが問題であることを認めておらず、ssh-agent は正常に動作しているように動作します。この組み合わせについて考えると、アクセス許可の問題が疑われますが、その種の問題をどこで調査すればよいかわかりません (また、Windows イベント ログに重要と認識されるものは何も表示されません)。

このエラー メッセージは私を困惑させます。環境変数が適切に設定されていない場合にこのエラー メッセージが表示される可能性があると信じる理由がありますが、環境変数が適切に設定されていると信じる理由があります。環境変数が実行されていない ssh-agent のインスタンスを参照している場合、このエラー メッセージが表示される可能性があると信じる理由がありますが、実行中の ssh-agent のインスタンスが 1 つだけあり、環境変数に表示されるものと一致します。 . そして、これは繰り返し可能です。ssh-agent > ~/.ssh/environment; . ~/.ssh/environmentなどの手法を使用して、数十の ssh-agent インスタンスを開始 (eval `ssh-agent`および最終的にはシャットダウン) しましたがssh-agent bash、msys ssh-add を msys ssh-agent に接続できません。

bash-3.1$ ps | grep ssh-agent
    10304       1   10304      10304    ?  500 09:01:24 /bin/ssh-agent
bash-3.1$ bash -c 'set | grep SSH_A'
BASH_EXECUTION_STRING='set | grep SSH_A'
SSH_AGENT_PID=10304
SSH_AUTH_SOCK=/tmp/ssh-oAFwa11048/agent.11048
bash-3.1$ time ssh-add -L
Could not open a connection to your authentication agent.

real    0m10.730s
user    0m0.000s
sys     0m0.015s
bash-3.1$ wc /tmp/ssh-oAFwa11048/agent.11048
      0       3      52 /tmp/ssh-oAFwa11048/agent.11048
bash-3.1$ cat /tmp/ssh-oAFwa11048/agent.11048; echo
!<socket >59261 060A4541-9831B739-519220DE-57936738
bash-3.1$

私は今のところ、スクリプト作成には関心がありません。コマンドラインから ssh-add を機能させることができれば、それをスクリプト化できると思います...

また、ssh-add が使用する 10 秒のリアルタイムは、「Could not open...」メッセージを発行する前に発生することにも注意してください。

ここでは、現在のバージョンの Windows 7 を使用しています。また、cygwin もインストールしていますが、msys を使用している場合はパスにありません。タスク マネージャーは、実行中の ssh-agent のインスタンスが 1 つしかないことを示しています。実行中の ssh-agent は msys ssh-agent であり、msysgit の bash プロンプトから開始されました (パスに cygwin からは何もありません)。ssh キーは cygwin の ssh-keygen を使用して生成されましたが、表面的なテストでは、msys ssh ユーティリティでファイルに問題がないことがわかりました。ssh-agent からエラー メッセージや警告が表示されません。

私は cygwin の ssh-agent を使用できますが、cygwin と msys を混在させると他の複雑さが生じます (そして、この問題に関する私の説明からその一部を見ることができます)。

msys ssh-add が機能しない理由を調べるにはどうすればよいですか? (または、その ssh-add を適切に機能させるにはどうすればよいですか?)

4

1 に答える 1

5

その理由と方法についてはあまりお話しできませんが、私が何を試し、最終的に何が解決したかはお伝えできます。git bash で:

exec ssh-agent bash

次に(変更されたシェルで):

ssh-add

これはある程度機能し、パスフレーズを 1 回入力するだけで済みましたが、通常の外観が失われました。さらに検索した後、この Github ヘルプ ページで .bashrc スクリプトを見つけました。

于 2012-03-13T19:51:53.217 に答える