현재 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
또 다른 옵션은 다른 사용자를 사용하는 것입니다.