Cygwinでssh-addできないときは

Cygwinで普通にssh-addしようとすると…

$ exec ssh-agent /usr/bin/bash
$ ssh-add .ssh/id_dsa
Could not open a connection to your authentication agent.

こうなるはず。

こんなときは、もう一つCygwinを立ち上げ、そちらで

$ ssh-agent -d
SSH_AUTH_SOCK=/tmp/ssh-hOgehoGe/agent.8956; export SSH_AUTH_SOCK;
echo Agent pid 8956;

とやって、表示されたのを「元のターミナルで」実行してやればOK。

$ SSH_AUTH_SOCK=/tmp/ssh-hOgehoGe/agent.8956; export SSH_AUTH_SOCK;
$ ssh-add .ssh/id_dsa
Identity added: .ssh/id_dsa (.ssh/id_dsa)

(ソース:ssh-add / ssh-agent issue | The STAR experiment)
いわゆる、バッドノウハウ