SSH가 비밀번호를 요청하지만 비밀번호 없이 직렬 포트를 통해 접속할 수 있습니다.

SSH가 비밀번호를 요청하지만 비밀번호 없이 직렬 포트를 통해 접속할 수 있습니다.

나는 이더넷 포트를 통해 인터넷에 연결된 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필요한 것입니다.

참고:

이는 보안이 매우 취약하므로 인터넷에서 직접 액세스할 수 없는 신뢰할 수 있는 네트워크 내에서만 사용해야 합니다.

관련 정보