SSH 비밀번호 기반 로그인이 실패하는 이유는 무엇입니까?

SSH 비밀번호 기반 로그인이 실패하는 이유는 무엇입니까?

현재 SSH 키를 사용하여 서버(Ubuntu 18.04)에 연결합니다. (특정하고 제한된 범위에서) 비밀번호로 로그인하는 기능을 허용하고 싶습니다.

시도할 때마다 비밀번호가 실패합니다. 아래는 비밀번호를 설정한 후 사용해 보는 세션입니다.

~ # id
uid=0(root) gid=0(root) groups=0(root)

~ # passwd
Enter new UNIX password: <helloworld>
Retype new UNIX password: <helloworld>
passwd: password updated successfully

~ # ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:AlFtwpK4EhhaMXP5aT6fuQM9u9RYPq/o/sLJXfz++jM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
[email protected]'s password: <helloworld>
Permission denied, please try again.

이것이 명백한 것이라면 사과드립니다. 서버가 왜 새 비밀번호를 수락한 다음 비밀번호 기반 로그인을 수락하여 최종적으로 자격 증명을 거부하는지 전혀 모르겠습니다.

편집: sshd_config추가하지 못한 파일

~ # cat /etc/ssh/sshd_config | grep -v ^#  | grep -v ^$                                                                                                                  root@srv
Port 22
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication no
UsePAM yes
PrintMotd no
UseDNS no
AcceptEnv LANG LC_*
Subsystem       sftp    /usr/lib/openssh/sftp-server
Match Address 192.168.10.0/24,192.168.20.0/24,127.0.0.0/8
    PasswordAuthentication yes

답변1

에 대한 기본값이 PermitRootLogin로 설정된 설정이 없기 때문에 로그인에 실패했습니다. 즉 에 대한 비밀번호 로그인이 비활성화되어 있음을 의미합니다 ./etc/ssh/sshd_configprohibit-passwordroot

첨가

PermitRootLogin yes

블록을 사용하면 비밀번호나 공개 키 인증으로 로그인 Match할 수 있습니다 .root

또 다른 옵션은 다른 사용자를 사용하는 것입니다.

관련 정보