Windows 服务器上的 Gerrit ssh 密钥设置

Windows 服务器上的 Gerrit ssh 密钥设置

'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.pubSSH 密钥并将其放在指定的目录中,但无济于事。我已经在 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 的密钥生成器吗?

迈克尔

相关内容