Dropbear -> Openssh:为什么现在要求输入密码?



我正在开发一个嵌入式板(i.MX6),上面有一个基于Yocto的嵌入式Linux。到目前为止,我使用Dropbear作为SSH服务器。但是,Dropbear不提供我需要的SFTP服务器。因此,我从Dropbear切换到OpenSSH(从标准的Poky源代码构建它,并通过opkg安装它)。

但是,从那时起,我无法再通过SSH登录到主板,因为服务器要求输入密码,我不知道。唯一的用户是root,它没有配置密码(这仍然是正确的,因为我可以通过RS232在本地登录而不会出现问题)。为什么OpenSSH要求输入密码?我怎样才能删除它?

我想也许在/etc/ssh的一个私钥中设置了一个密码短语:

/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_rsa_key

所以我分别为他们每个人做了ssh-keygen -p -f /etc/ssh/ssh_host_rsa_key,但没有帮助。

这是sshd_config文件的基本部分:

# grep '^[^#]' /etc/ssh/sshd_config
Protocol 2
PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys
UsePrivilegeSeparation sandbox # Default for new installations.
Compression no
ClientAliveInterval 15
ClientAliveCountMax 4
Subsystem       sftp    /usr/lib/openssh/sftp-server

有什么想法吗?

你确定你的IMAGE_FEATURESEXTRA_IMAGE_FEATURES中有debug-tweaks吗?

如果是这样,ROOTFS_POSTPROCESS_COMMAND应包括ssh_allow_empty_password();,而又应将PermitEmptyPasswords yes设置为/etc/ssh/sshd_config/etc/ssh/sshd_config_readonly。这应该允许您在OpenSSH中使用空密码。

如果您的EXTRA_IMAGE_FEATURES中有"调试调整",则密码将为空:这对于开发映像可能没问题。

如果你想有一些安全性,你可以添加一个将公钥安装到/root/.ssh/authorized_keys 的配方,或者在映像配方或本地配置中使用 extrausers 类来设置密码。

最新更新