【问题标题】:SSH Daemon (NIO2) is not starting anymoreSSH 守护进程 (NIO2) 不再启动
【发布时间】:2016-05-24 22:11:47
【问题描述】:

我有两个 VM 在 jetty 版本 9.2.11 下运行 gitblit。两者都在 ubuntu 服务器 14.04 中使用 java 8(最新更新 “1.8.0_77”)。

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

其中一个是

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

另一个是

2.6.32-042stab113.21 #1 SMP Wed Mar 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

之后,码头的服务失败,上下文不可用。应用程序将永远保持 STARTING 状态。

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

有人可以帮我吗?

问候

【问题讨论】:

    标签: linux git ssh jetty gitblit


    【解决方案1】:

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

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

    1. 我已经下载了我正在使用的gitblit 版本的源代码。在这种情况下,版本 1.7.1 可用here
    2. 通过源代码,我添加了一些快速日志(使用 sysout),仅用于检查应用程序何时冻结。我注意到问题出在Apache MINA sshd 的代码中。
    3. 我也下载了Apache MINA sshd的源码调试。在这种情况下,我无法添加 sysout,然后我选择在服务器上运行的码头中进行远程调试,如 here 所述。

    当然这有点慢,但是我注意到当 sshd 的代码在 SecurityUtils.BouncyCastleRandom 类中调用 SecureRandom.generateSeed(8)

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

    系统曾经完全冻结。

    在互联网上搜索了很长时间后,我找到了这个链接/博客https://blog.cloudflare.com/ensuring-randomness-with-linuxs-random-number-generator/,当我输入命令cat /proc/sys/kernel/random/entropy_avail 时,结果总是得到 0(零)。

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

    技术支持的回答是:

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

    在那次更新之后,我的 gitblit 恢复到启动和运行状态。

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      相关资源
      最近更新 更多