Linux
SSH 要求輸入密碼,但沒有密碼我可以通過串口進入
我有一個執行 GNU/Linux 的 arm7 板,它通過乙太網埠連接到網際網路。我正在嘗試以 root@IPaddr 身份通過 SSH 登錄,但它提示我輸入密碼。我很確定從未在上面設置過密碼。我實際上也更改了 sudoers 文件:
根 ALL=(ALL) NOPASSWD: ALL
但沒有用。儘管沒有提示輸入密碼,但我可以通過串列埠進入它。我有點失落。
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
伺服器將
sshd
始終要求輸入密碼,除非您將其配置為允許空密碼。此外,它最新的預設配置sshd
被配置為禁止 root 登錄或僅允許 root 使用公鑰身份驗證。因此,您應該確保 root 可以通過 ssh 登錄並且允許使用空密碼:
/etc/ssh/sshd_config
PermitRootLogin yes ... PasswordAuthentication yes PermitEmptyPasswords yes ...
您還需要設置一個空的 root 密碼。這與沒有密碼不同。無密碼被定義為不存在的密碼或非法密碼。在任何一種情況下,都需要一個隱含但無法輸入的密碼。當然,這意味著
root
將無法直接登錄。所以,anempty password
是必需的。請注意:
這是非常差的安全性,只能在不能從 Internet 直接訪問的受信任網路中使用。