发出g8命令时,Github对等体未经过身份验证

时间:2012-06-14 22:30:26

标签: scala github sbt typesafe-stack giter8

我正在使用red hat linux。我正在尝试运行此命令:

g8 typesafehub/play-scala

我得到了这样的答复:

  

从未经过身份验证的github peer获取异常

但是当我使用

检查连接时
openssl s_client -connect github.com:443

我明白了:

  

验证返回码:0(ok)

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

g8 typesafehub/play-scala

3 个答案:

答案 0 :(得分:4)

我还在使用RHEL 5的{​​{1}} VM映像上遇到了此问题。这是另一个注意openjdk 6让我理解的问题。我调整了调用以为github添加信任设置;在我的情况下,它解决了对等身份验证问题。

首先使用TrustManageropenssl获取github证书,以使其可供Java访问。

keytool

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

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 \ \ -Djavax.net.ssl.trustStore=$HOME/g8.truststore \ \ -Djavax.net.ssl.trustStorePassword=g8g8g8 \ $* ,我觉得现在情况好多了。我想设置一个系统范围的默认信任库可能会更好,但我还没想出那个。

答案 1 :(得分:1)

如果确实存在身份验证问题,请检查您的~/.g8/config文件authentication purpose,但不应将其用于匿名访问。

请注意,根据issue 32 of giter8,它还可能取决于您使用的Java 例如:

  

抱歉,openjdk 7的预览版不适合一般用途。 (还有giter8问题#27特定于mac上的openjdk。)我用giter8测试了openjdk 7~b147-2.0-0ubuntu0.11.10.1并且运行正常,所以当有最终版本可用于mac时你应该能够使用它。

     

目前,请尝试使用jdk 6 ,如果仍有问题,请重新开启。

另一个JDK(openjdk)最终可能会使用错误的TrustManager,如“Avoiding the "javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated" with HttpClient”中所述

答案 2 :(得分:0)

我遇到了和B Evans一样的问题(感谢你!),但是在Windows中,所以这里是等效的代码以防其他人有这个问题而且不知道如何从windows cmd做到这一点。我还必须从http://www.openssl.org/related/binaries.html

获取openssl
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(我还必须处理我们的公司防火墙,因此代理也是如此......)

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