나는 이더넷 포트를 통해 인터넷에 연결된 GNU/Linux를 실행하는 arm7 보드를 가지고 있습니다. SSH를 통해 root@IPaddr로 로그인을 시도했지만 비밀번호를 묻는 메시지가 표시되었습니다. 비밀번호가 설정된 적이 없다고 확신합니다. 실제로 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
답변1
빈 비밀번호를 허용하도록 구성하지 않는 한 서버는 sshd
항상 비밀번호를 묻습니다. 또한 최신 기본 구성은 sshd
루트 로그인을 비활성화하거나 루트만 공개 키 인증을 사용할 수 있도록 구성됩니다.
따라서 루트가 ssh를 통해 로그인하고 빈 비밀번호를 허용할 수 있는지 확인해야 합니다.
/etc/ssh/sshd_config
PermitRootLogin yes
...
PasswordAuthentication yes
PermitEmptyPasswords yes
...
또한 빈 루트 비밀번호를 설정해야 합니다. 이것은 비밀번호가 없다는 것과 다릅니다. 비밀번호 없음은 존재하지 않는 비밀번호 또는 불법적인 비밀번호로 정의됩니다. 두 경우 모두 암시적이지만 입력이 불가능한 비밀번호가 필요합니다. 물론 이는 root
직접 로그인할 수 없음을 의미합니다. 그래서 an 이 empty password
필요한 것입니다.
참고:
이는 보안이 매우 취약하므로 인터넷에서 직접 액세스할 수 없는 신뢰할 수 있는 네트워크 내에서만 사용해야 합니다.