cygwin 有 gpg 代理吗?

cygwin 有 gpg 代理吗?

我想使用 cygwin 中的 gpg-agent,但在 cygwin 上安装 gpg 无法提供此功能,而且 google 也没有太多关于此的最新信息。是否可以在 cygwin 下使用 gpg-agent(使用类似 keychain 的东西),或者我可以将“本机”windows 代理与 cygwin 的 gpg 一起使用吗?

答案1

不幸的是,没有(或者截至 2016 年 3 月还没有)。正如 Cygwin 软件包维护人员为 GnuPG 编写的以下帖子所暗示的那样,gpg-agent 仅在 GnuPG 2 及更新版本中可用,但 Cygwin 随 GnuPG 1.4 一起打包。

2015 年 4 月 9 日 12:31,Andrew Schulman 写道:

那么,为什么 Cygwin 没有 gpg-agent 呢?希望将来有一天能有吗?

来自:亚当·丁伍迪

我怀疑只是因为没有人打包过,而必须有人做这项工作才能使它可用。我怀疑没有人会反对你提交一份打包意向书https://cygwin.com/setup.html

2015 年 9 月 3 日星期四下午 03:20:45,Andrew Schulman 写道:

如果这是唯一的原因,我当然会考虑打包它。不过我想先听听 gnupg 维护者 Marco 的意见,看看是否还有其他原因。

来自:Marco Atzeri

据我所知,gpg-agent 属于 GnuPG > 2.0,而我们只有经典的 gnupg-1.4.19

如果我没记错的话,GnuPG > 2.0 需要 cygwin 上不存在的内存保护功能。但我可能错了。

问候 Marco

答案2

更新(2018-10-20)

以下信息现已过时,因为截至目前,当前的 Cygwingnupg2软件包版本为2.2.10-1以及最新的gpg4win(3.1.3)位于2.2.10


否,目前没有原生 Cygwin 包GnuPG 2+。请向他们的电子邮件列表提交投诉。唯一的方法是遵循我的安装说明并软链接新代理。请小心,因为有多个文件具有相似的名称,因为您不想破坏包管理器和其他应用程序使用的本机/原始 gpg。

$ ls -1 /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg*

gpg.exe'*
gpg-agent.exe'*
gpgconf.exe'*
gpg-connect-agent.exe'*
gpgme-w32spawn.exe'*
gpg-preset-passphrase.exe'*
gpgsm.exe'*
gpgtar.exe'*
gpgv.exe'*
gpg-wks-client.exe'*

$ ls -1 /usr/bin/gpg*

gpg.exe*
gpgsplit.exe*
gpgv.exe*
gpg-zip*

链接的最低要求是:

$ ln -s /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg.exe /usr/bin/gpg2
$ ln -s /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg-agent.exe /usr/bin/gpg-agent

答案3

最好的解决方案是切换到摩巴Xterm

MobaXterm 有一个类似钥匙串的实用程序,可以像 mRemote-ng 一样保存 ssh 会话,但它是 Windows 的原生 Unix 终端(如 Cygwin)。

答案4

如果 Cygwin 由于内存管理限制而无法提供 GnuPG > 2.0,您可以尝试查看新的适用于 Linux 的 Microsoft Windows 子系统 (WSL)在 Windows 上的 Ubuntu 上运行 Bash

在 Bash shell 中(通过 WSL 在 Windows 10 上的 Ubuntu 上运行),您可以访问 Canonical 软件包存储库,并可以快速安装 GnuPG 之类的东西:

apt-get install gnupg

相关内容