Linux SSH守护进程(NIO2)不再启动

Linux SSH守护进程(NIO2)不再启动,linux,git,ssh,jetty,gitblit,Linux,Git,Ssh,Jetty,Gitblit,我有两个VM在jetty版本下运行gitblit9.2.11。两者都在ubuntu服务器14.04中使用Java8(最新更新“1.8.0\u 77”) 我注意到的唯一区别是内核版本 其中之一是 2.6.32-042stab111.12#1 SMP周四9月17日11:38:20 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux(我们称之为服务器1) 另一个是 2.6.32-042stab113.21#1 SMP周三3月23日11:05:25 MSK 2016 x86_

我有两个VM在jetty版本下运行gitblit9.2.11。两者都在ubuntu服务器14.04中使用Java8(最新更新“1.8.0\u 77”)

我注意到的唯一区别是内核版本

其中之一是

2.6.32-042stab111.12#1 SMP周四9月17日11:38:20 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux(我们称之为服务器1)

另一个是

2.6.32-042stab113.21#1 SMP周三3月23日11:05:25 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux(我们称之为服务器2)

在服务器1上,一切正常

但是在服务器2上,gitblit的上下文并没有启动和运行

日志中的最后一条记录是:

2016-04-12 22:22:53 [INFO ] Federation passphrase is blank! This server can not be PULLED from.
2016-04-12 22:22:53 [INFO ] Fanout PubSub service is disabled.
2016-04-12 22:22:53 [INFO ] Git Daemon is listening on 0.0.0.0:9419
之后,jetty的服务失败,上下文不可用。应用程序始终保持启动状态

我尝试重新安装ssh服务器和客户端,但没有成功

有人能帮我吗


问候

在我发布问题几天后,我找到了正确答案

我按照以下步骤检测问题的根本原因:

  • 我已经下载了我正在使用的版本的源代码。在这种情况下,可以使用1.7.1版
  • 在源代码中,我添加了一些快速日志(使用sysout)只是为了检查应用程序何时冻结。我注意到问题出在代码中
  • 我还下载了要调试的源代码。在本例中,我无法添加sysout,然后我选择在服务器上运行的jetty中进行远程调试,如下所述
  • 当然有点慢,但我注意到当sshd的代码在课堂上调用
    SecureRandom.generateSeed(8)

    这个系统过去常常完全冻结

    在互联网上搜索了很长时间后,我找到了这个链接/博客,当我键入命令
    cat/proc/sys/kernel/random/entropy\u avail
    时,结果总是得到0(零)

    我知道我的Linux是一个在openvz下运行的VPS,托管于。基于此,我要求VPS提供商检查在我的VPS中我总是得到零的原因

    技术支持部门的答复是:

    我们已为您的VPS启用随机设备。请检查它是否适用于您,以及问题是否已解决

    在那次更新之后,我的gitblit正在备份并运行

    public BouncyCastleRandom() {
        ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered");
        this.random = new VMPCRandomGenerator();
        byte[] seed = new SecureRandom().generateSeed(8);
        this.random.addSeedMaterial(seed);
    }