我有一个运行 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 直接访问的受信任网络中使用。