'Gerrit'
我正在尝试在我们内部网络上的 Windows Server 2008 虚拟机上配置 Google 的代码审查网络应用程序。
我们正在使用 Apache Tomcat (6.0.36) 来托管 Web 应用程序,并且已将 gerrit.war 部署到 tomcats webapp 文件夹,并且我相信已正确设置 Web 应用程序的 context.xml、web.xml 等。
但是,当我使用 $CATALINA_HOME/bin/startup.bat 启动 Tomcat 时,我在 tomcat 日志中收到以下消息:
*2012 年 12 月 7 日下午 1:03:54 org.apache.catalina.core.StandardContext listenerStart
严重:将上下文初始化事件发送到类 >com.google.gerrit.httpd.WebAppInitializer 的侦听器实例时发生异常 com.google.inject.CreationException:Guice 创建错误:*
1)C:\Gerrit\config\etc 下没有 SSH 密钥 在 com.google.gerrit.sshd.SshModule.configure(SshModule.java:90) 处定位 com.google.gerrit.sshd.HostKeyProvider
我创建了一个is_rsa.pub
SSH 密钥并将其放在指定的目录中,但无济于事。我已经在 Google 上搜索了大约一周,但似乎找不到有关它期望的文件或格式的任何信息……关于gerrit
在 Windows 上设置的文档似乎很难找到!
在这种情况下,有人能提供有关如何正确配置主机 SSH 密钥的有用信息吗?
答案1
我刚刚才搞明白。问题不在于身份验证本身,我没有进入客户端访问阶段,我一直在努力配置服务器端 ssh 密钥以用于后续的客户端身份验证。
看来 gerrit 正在寻找名为“ssh_主机密钥' 在 config/etc 文件夹中不存在 'id_rsa.pub' 这是 ssh-keygen 程序为密钥生成的原始名称。我不知道这是否是通用的服务器端 ssh 主机密钥配置,但这似乎对我有用。
我现在可以成功运行 Gerrit Web 应用程序,并且可以继续配置客户端 ssh 密钥/帐户以供客户端访问。
感谢您的帖子/评论
答案2
我对 Windows 几乎一无所知 - 在 *NIX 环境中,ssh 身份验证失败的一个简单原因与文件权限有关。我确保它归“whoami”用户所有并且是“chmod 600” - 也就是说文件本身只有所有者才可以读写。
有关如何生成 ssh 密钥的一些信息也可能会给出答案。您使用过 Putty 的密钥生成器吗?
年
迈克尔