我在 Windows 上运行 Apache Netbeans 12,我真的很难使用 SSH 连接连接到我的 github 存储库。我的强烈印象是,长期以来这一直是 Netbeans 用户的问题。 到目前为止我已经尝试过:
- 我在用来在 Netbeans 中运行终端的 Cygwin 中安装了 openSSH。这让我可以使用 ssh-agent。
- 我试图让 ssh-agent 运行并在我的 Git 存储库中添加与公钥匹配的相关私钥。
- 使用 git bash 和独立的 Cygwin shell(现在我运行了 ssh-agent)克隆这个 repo 没有问题,但是 Netbeans 中的 Team->Git->Glone 向导给了我这个连接错误:
这是Netbeans 7 或 8 中使用 github 的“通过 SSH 协议从 GitHub 克隆存储库”的文档:
https ://netbeans.org/kb/docs/ide/git.html#github
这是 Netbeans 12 的“通过 SSH 协议从 GitHub 克隆存储库”的文档:
https ://netbeans.apache.org/kb/docs/ide/git.html- 据我所知,解释如何通过 SSH 协议克隆存储库的文档保持不变,但版本 7 中报告的错误: https ://bz.apache.org/netbeans/show_bug.cgi?id=251253尽管已关闭,但对我来说仍然没有解决。我尝试更改 .ssh 文件夹,但在 Netbeans 12 中出现完全相同的错误。
- https://netbeans.org/nonav/bugzilla/show_bug.cgi?id=199263继续着这个传奇,面临着关闭问题的巨大压力。
- 此错误报告 https://netbeans.org/nonav/bugzilla/show_bug.cgi?id=218918反映了我的经验:
开发构建,但只要我记得,它就是真实的。我无法使用 NetBeans 执行任何需要 SSH 身份验证的 Git 操作:推送到 GitHub、从私有存储库中提取等。使用命令行 Git 的相同操作可以正常工作,但在 NetBeans 中我会提示输入用户名和密码,或带有密码的私钥。这在命令行中是不必要的,因为我使用 ssh-agent 来解锁我的私钥,而无需每次都输入密码;显然,NB 使用的 Git 库无法与 ssh-agent 通信,因此它失败了。
这是一种让我感到沮丧的回应(记得关于 Netbeans 7,我仍在为版本 12 苦苦挣扎):
“似乎现在自动使用 ssh-agent 起作用了;可能只是因为我在此修复之前尝试在 NetBeans 中推送/拉取的存储库而损坏。”</p>
不是,不是。我根本无法让 Netbeans 按照标准向导文档克隆 github 存储库。
- 这是关于 Netbeans 8 的 StackOverflow 特有问题: Netbeans 8.2 Can't Verify Git Credentials? 没有明确的答案或有用的评论,但这个人与我在 SSH 连接上遇到的问题相同。
- 这个错误报告是同样的老故事: https ://bz.apache.org/netbeans/show_bug.cgi?id=247761并包括这个想法:
John Gibson 在 GitLab CE 问题 #624 ( https://gitlab.com/gitlab-org/gitlab-ce/issues/624#note_299061 ) 上评论说他遇到了类似的错误。他解释说,他“发现服务器上所有可用的密码至少为 256 位。标准 Oracle Java 附带的加密限制为某些算法的 128 位。安装 Oracle 提供的无限强度加密包后,问题就消失了。请注意,无限强度包仅在美国合法可用。如果您在美国境外,那么我认为 OpenJDK 可以代替。
我按照他提到的链接(http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html)下载了 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7并按照下载随附的自述文件中的步骤进行操作。
- 我尝试了这个下载并且 readme.txt 清楚地指出:
“当前版本的 JDK 不需要单独的无限制策略文件。提供它们是为了与旧版本一起使用。只有早于 7u171 的 JDK 7 更新才需要早期版本的无限策略文件。”</p>
所以,这也行不通。我完全被难住了。我必须做些什么才能让最新、最闪亮的 Netbeans 版本与 github 和 SSH 连接顺利工作?