我可以在 Cygwin 的 ssh 中使用 PLink 和 Pageant 吗?

Jer*_*rph 26 ssh cygwin putty ssh-agent

我现在使用 msysgit 是因为 GUI 工具使用 Putty 的 Pageant 和 PLink 实用程序,但我使用 Cygwin 作为通用 SSH 终端。我一直在 Cygwin 上使用 ssh-agent,但这意味着我必须为两个 SSH 密钥管理器输入我的 SSH 密钥密码。是否可以将我所有的 Unix 端口工具(msys、git、cygwin、Ruby Net:SSH 等)配置为使用 PLink/Pageant 而不是 ssh-agent?似乎这就是 PLink 的用途,但我找不到有关如何操作的文档。

Jos*_*one 17

我还在 openssh 和 pageant 之间写了一个代理,我称之为ssh-pageant。它看起来与charade几乎相同,但我没有听说过。好吧,如果您遇到麻烦,我想我会放弃 ssh-pageant 来尝试。


Jon*_*n M 11

不久前我遇到了charade,它取代了 Pageant 的 ssh-agent 和代理。当时我还不能完全让它工作,从那以后就没有机会玩它了,但它可能值得一试。如果你有任何运气,请回帖并告诉我,这已经在我要做的事情清单上很久了!

  • 我只会在你构建包之前补充一点,确保除了默认的 cygwin 安装之外你还有以下包:`make`、`gcc-core`、`keychain`、`psmisc`,当然还有 `openssh`。这样,如果您遵循 README 文件中非常详细的说明,您将不会收到任何错误 (2认同)

小智 5

您希望集成 ssh-agent 和 pageant,以便您只有一个密钥库。一种方法是使用 PuTTY 作为终端,将密钥保存在选美中,启用代理转发,运行 Cygwin sshd 和 ssh 到本地主机。这将为您提供一个环境,其中选美通过与 PuTTY 的 ssh 连接提供密钥——无需运行 ssh-agent。

应该可以用 Plink 做同样的事情。只需使用 -A 选项,并在交互式 Cygwin 会话中使用生成的 SSH_AUTH_SOCK 设置。免责声明:我没有试过这个。

编辑:我现在已经尝试过了;它工作得很好。我创建了 PLINK 的快捷方式:

"C:\path\to\PLINK.EXE" -A -ssh -l yournamehere localhost "echo $SSH_AUTH_SOCK; while :; do sleep 86400; done"
Run Code Online (Sandbox Code Playgroud)

然后,在 Cygwin 终端中(我当然使用 PuTTYcyg):

export SSH_AUTH_SOCK=/tmp/ssh-crYQh24AMq/agent.3964
ssh-add -l
Run Code Online (Sandbox Code Playgroud)

似乎工作得很好,但仍然需要本地 sshd。

什么是真正伟大的是有直接传送给选美密钥库的OpenSSH的兼容剂,但这种情况不会发生,除非有人写这样的野兽。我在很多个月前就研究过它,考虑到这个解决方法很容易,它似乎比值得的麻烦更多。


dav*_*vey 2

你能换个方式使用 puttycyg 吗?

[ http://code.google.com/p/puttycyg/]

这样你就有了 putty 作为你的 cygwin 终端。