首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我发出g8命令时,Github对等点没有经过身份验证

当我发出g8命令时,Github对等点没有经过身份验证
EN

Stack Overflow用户
提问于 2012-06-14 22:30:25
回答 3查看 716关注 0票数 2

我正在使用红帽子linux。我试图运行以下命令:

g8 typesafehub/play-scala

我得到了这样的回应:

从github对等端获取未经身份验证的异常

但是当我检查连接时

代码语言:javascript
复制
openssl s_client -connect github.com:443

我明白了:

验证返回代码:0(确定)

这意味着我可以和github连接。为什么这个命令不起作用?

g8 typesafehub/play-scala

EN

回答 3

Stack Overflow用户

发布于 2012-11-03 06:47:04

我还在使用RHEL 5openjdk 6映像上遇到了这个问题。这是另一张看TrustManager的便条,它让我发现了一种修复方法。我调整调用以添加github的信任设置;在我的情况下,它解决了对等身份验证问题。

首先,使用opensslkeytool获取github证书,使java能够访问它。

代码语言:javascript
复制
echo "" | openssl s_client -connect www.github.com:443 \
    -showcerts 2>/dev/null | openssl x509 -out github.cert
keytool -import -alias github \ 
    -file github.cert -storepass g8g8g8 \
    -keystore $HOME/g8.truststore

现在,要用我称为“G8”的脚本重写调用:

代码语言:javascript
复制
g8 \
   \ -Djavax.net.ssl.trustStore=$HOME/g8.truststore \
   \ -Djavax.net.ssl.trustStorePassword=g8g8g8 \
   $*

现在,尝试执行G8 -v typesafehub/akka-scala-sbt,我发现现在的情况要好得多。我想,设置一个全系统的默认信任库可能会更好,但我还没有想到这一点。

票数 4
EN

Stack Overflow用户

发布于 2012-06-15 08:05:25

如果这确实是一个身份验证问题,请检查~/.g8/config文件中的认证目的,但是您不应该需要它进行匿名访问。

注意,根据giter8第32期,它也可能取决于您正在使用的Java。

例如:

对不起,openjdk 7的预览版本不适合一般使用。(还有第27号giter8问题,专门针对mac上的openjdk。)我已经用giter8测试了openjdk 7~b147-2.00-0ubuntu0.11.10.1,这很好,所以当mac有最终版本可用时,您应该可以使用它。 目前,请尝试使用jdk 6,如果仍然有问题,请重新打开。

另一个JDK (openjdk)可能会使用错误的TrustManager,如"HttpClient“中所述。

票数 1
EN

Stack Overflow用户

发布于 2013-01-09 15:58:32

我和B Evans有同样的问题(谢谢这个!),但是在Windows中,如果其他人有这个问题,并且不知道如何从windows执行,这里有相同的代码。我还必须从http://www.openssl.org/related/binaries.html获得openssl

代码语言:javascript
复制
openssl s_client -connect www.github.com:443 -showcerts > out.txt
openssl x509 -out github.cert < out.txt
keytool -import -alias github -file github.cert \
 -storepass g8g8g8 -keystore C:\tmp\g8.truststore

然后向JAVA_OPTS添加相同的内容(我还必须处理公司防火墙,因此也要处理代理.)

代码语言:javascript
复制
SET JAVA_OPTS=-Dhttp.proxyHost=our.proxy.com -Dhttp.proxyPort=8080 \
 -Dhttps.proxyHost=our.proxy.com -Dhttps.proxyPort=8080 \
 -Djavax.net.ssl.trustStore=C:\tmp\g8.truststore \ 
 -Djavax.net.ssl.trustStorePassword=g8g8g8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11042246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档