SSH 要求输入密码,但我可以在没有密码的情况下通过串行端口进入

SSH 要求输入密码,但我可以在没有密码的情况下通过串行端口进入

我有一个运行 GNU/Linux 的 arm7 板,它通过以太网端口连接到互联网。我尝试以 root@IPaddr 身份通过 SSH 登录,但它提示我输入密码。我很确定密码从未设置过。我实际上也更改了 sudoers 文件:

根 ALL=(全部) NOPASSWD: 全部

但没有用。我可以通过串行端口进入它,但不会提示输入密码。我有点失落。

root@mur0011:~# ls -la .ssh/
drwx------    2 root     root          4096 Nov  8 01:10 .
drwxr-xr-x   10 root     root          4096 Nov  8 01:10 ..
-rw-------    1 root     root          2347 Jun  1 21:20 authorized_keys
-rw-------    1 root     root          1675 May 31 23:19 id_rsa
-rw-r--r--    1 root     root           397 May 31 23:19 id_rsa.pub
-rw-r--r--    1 root     root           803 Jun  1 19:51 known_hosts
root@mur0011:~# uname -a
Linux mur0011 3.14.38-6UL_ga+ge4944a5 #1 SMP PREEMPT Wed Mar 14 16:48:19 
PDT 2018 armv7l GNU/Linux
root@mur0011:~# whoami
root

答案1

服务器sshd将始终要求输入密码,除非您将其配置为允许空密码。此外,它的最新默认配置sshd被配置为禁止 root 登录或仅允许 root 使用公钥身份验证。

因此,您应该确保 root 可以通过 ssh 登录并且允许使用空密码:

/etc/ssh/sshd_config

PermitRootLogin yes
...
PasswordAuthentication yes
PermitEmptyPasswords yes
...

您还需要设置一个空的 root 密码。这与没有密码不同。无密码被定义为不存在的密码或非法的密码。在这两种情况下,都需要隐式但无法输入的密码。当然,这意味着root将无法直接登录。所以, anempty password就是所需要的。

请注意:

这是安全性非常差的,只能在无法从 Internet 直接访问的受信任网络中使用。

相关内容