我有一台运行 Linux 和 SSH 服务器的小型嵌入式设备。该设备设置了一个用户(root),没有任何密码。
目前,有一台基于 Windows XP 的笔记本电脑用于在嵌入式设备上运行诊断程序。当尝试从笔记本电脑通过 SSH 进入设备时,即使没有与 root 关联的密码,用户也会被提示输入密码。从任何其他计算机,SSH 都可以正确登录,无需密码。
在笔记本电脑上,使用 putty、cygwin 和虚拟机时会出现此行为。同样,在任何其他计算机上,这台完全相同的虚拟机将通过 SSH 成功连接,无需密码。
编辑:
很明显,我对 Linux/SSH 的密码要求的想法并不太了解。
不过,正如我所说,在任何其他设备上,一旦存储了设备的密钥,ssh root@DEVICEIP 都将无需密码即可登录。只有这台笔记本电脑(以及在这台笔记本电脑上使用 SSH 的任何方法)行为不正常。
作为参考,这是 passwd 和 shadow:
root@ULCB-Linux:/etc cat passwd
root:x:0:0:root:/home:/bin/sh
ftp:x:11:101:ftp user:/home:/bin/false
www:x:12:102:www user:/home:/bin/false
sshd:x:13:100:SSH Server:/var/run/sshd:/bin/false
messagebus:x:103:104:messagebus:/dev/null:/bin/false
service:x:500:100:Service User:/home:/bin/sh
root@ULCB-Linux:/etc cat shadow
root:$1$yoD9VQnv$V9iaWdgnoSnp2ASzsgxgI.:15826:0:99999:7:::
sshd:!:0:0:99999:7:::
ftp::0:0:99999:7:::
service::0:0:99999:7:::