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_config기본값은 prohibit-password비밀번호 로그인 비활성화 입니다 root.

다음에 추가

PermitRootLogin yes

차단하면 비밀번호 또는 공개 키 인증을 사용한 로그인이 Match허용됩니다 .root

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

관련 정보