我现在使用的是msysgit,因为GUI工具使用了Putty的Pageant和PLink工具,但是我使用Cygwin作为一般的SSHterminal。 我一直在Cygwin上使用ssh-agent,但这意味着我必须为两个SSH密钥pipe理器input我的SSH密钥密码。 是否可以configuration我所有的Unix端口工具(msys,git,cygwin,Ruby Net:SSH等)来使用PLink / Pageant而不是ssh-agent? PLink似乎是这样做的,但我找不到文档。
我也写了openssh和pageant之间的代理,我称之为ssh-pageant 。 这看起来和沙拉德差不多,但是我没有听说过。 那么如果你有麻烦,我想我会抛出ssh-pageant来尝试。
前段时间我碰到了charade ,它把ssh-agent和代理replace成了Pageant。 那个时候我还没有完全搞定,也没有机会玩,但是值得一试。 如果您有任何运气,请回复并让我知道,这是我的事情做了很长一段时间的清单!
您正在寻找集成ssh-agent和pageant,以便您只有一个密钥库。 一种方法是使用PuTTY作为您的terminal,保持您的密钥在选美中,启用代理转发,运行Cygwin sshd和ssh到本地主机。 这将为您提供一个环境,通过与PuTTY的ssh连接,由pageant提供密钥 – 无需运行ssh-agent。
应该可以用Plink来做同样的事情。 只需使用-A选项,并在交互式Cygwin会话中使用生成的SSH_AUTH_SOCK设置。 免责声明:我没有试过这个。
编辑:我现在已经试过了; 它工作得很好。 我创build了一个PLINK的快捷方式:
"C:\path\to\PLINK.EXE" -A -ssh -l yournamehere localhost "echo $SSH_AUTH_SOCK; while :; do sleep 86400; done"
然后,在一个Cygwinterminal(当然我使用PuTTYcyg):
export SSH_AUTH_SOCK=/tmp/ssh-crYQh24AMq/agent.3964 ssh-add -l
似乎工作很好,但仍然需要本地sshd。
真正好的是有一个openssh兼容的代理直接与pageant keystore进行通信,但是除非有人写这样一个野兽,否则这是不会发生的。 我在很久以前就对它进行了研究,似乎比这个解决方法足够简单。
我会build议同样的事情(使用腻子),但只是使用腻子,因为它与pagent和plink更好地整合,我使用它随着msysgit,但使用由msysgit提供的git bash,它会罚款,它在控制台之间的一个单调乏味的切换,但分离也可以
另一种方法来做到这一点。
将这行添加到.bash_profile的最顶部
exec ssh-agent /usr/bin/bash
然后在.bashrc的底部添加你的密钥
ssh-add ~/.ssh/myprivate