Debian 升级到 Buster 后,如果之前没有从“受信任的机器”登录,则无法 ssh 到服务器

Debian 升级到 Buster 后,如果之前没有从“受信任的机器”登录,则无法 ssh 到服务器

我刚刚将 Debian 服务器从 Stretch(稳定)升级到 Buster(测试)。

我似乎无法解决一件奇怪的事情:

$ ssh [email protected] -p [censored] -o ConnectTimeout=5 -i /home/vlastimil/.ssh/id_rsa -vvv

结果是:

OpenSSH_7.6p1 Ubuntu-4, OpenSSL 1.0.2n  7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "192.168.0.102" port [censored]
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 192.168.0.102 [192.168.0.102] port [censored].
debug2: fd 3 setting O_NONBLOCK
debug1: connect to address 192.168.0.102 port [censored]: Connection refused

ssh: connect to host 192.168.0.102 port [censored]: Connection refused


但是,如果我在本地以该用户身份登录(我什至可以注销,只需要一次登录),它就可以工作。

我能够以 root 身份登录。然而,尽管交换了公钥,但只能从一台机器进行。

此外,只需从该一台计算机进行一次 root 登录,然后就可以从另一台计算机以 root 身份登录。

谁能详细说明一下,如何调试这个问题?


服务器的配置:

# grep -v '#' /etc/ssh/sshd_config

Port [censored]
Protocol 2
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
StrictModes yes
HostbasedAuthentication no
IgnoreRhosts yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
PrintLastLog no
Banner none
AcceptEnv LANG LC_*
Subsystem   sftp    /usr/lib/openssh/sftp-server
KeyRegenerationInterval 3600
ServerKeyBits 4096
Ciphers [email protected],[email protected]
MACs [email protected]
KexAlgorithms [email protected]
FingerprintHash sha512
Match Address 192.168.0.*
    PermitRootLogin yes
Match all
    PermitRootLogin no

答案1

谢谢电信公司回答关于硬件 RNG 我做了一个apt search并找到了包rng-tools5并安装了它:

sudo apt-get install rng-tools5

这解决了我的英特尔 NUC 上的问题。


编者注:我在配备 Xeon CPU 的 Dell PowerEdge T20 上的问题也已得到解决。

补充笔记:

  • 安装软件包后,请检查是否有随机源:

    rngd -v
    

    就我而言,没有 TPM 设备,但 CPU 有rdrand能力:

    Unable to open file: /dev/tpm0
    Available entropy sources:
        DRNG
    

答案2

connection refused表明sshd没有运行。

这可能只是时间问题:当控制台出现登录提示时,并不能保证所有系统服务都已完成启动。

sshd也可能会陷入等待状态/dev/[u]random,特别是当系统位于网络流量很少的网段时。在这种情况下,系统可用的真正随机源非常少,并且很难收集足够的真正随机位来最初为内核的随机数生成器播种。登录到系统控制台将以键盘中断调用时间最低位的形式提供一些随机性。如果系统具有某种形式的硬件 RNG,启用它可能会解决此问题。

要进行诊断,只需在控制台登录提示符处输入几行废话,而无需实际登录。如果sshd此后响应正常,则内核可能缺乏随机性并且无法为内核 RNG 提供种子,从而导致启动sshd延迟。

或者它可能是某种systemd依赖性错误,仅允许sshd在与登录相关的进程首先启动时启动。这将是 Debian Buster 仍然是该发行版的原因之一testing:如果这就是原因,请发送错误报告。

答案3

该包已经解决了这个问题。

线程: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912087

相关内容