답변:
확인은 UID에서 수행 된 것 같습니다 (에서 테스트 됨 OpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t 3 May 2016
).
PermitRootLogin을 해제하십시오.
mtak@pdv1:~$ grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin no
admin
UID 0으로 이름 이 지정된 사용자 가 작성 되었는지 확인하십시오 .
mtak@pdv1:~$ sudo grep admin /etc/passwd
admin:x:0:0:Root User:/root:/bin/bash
사용자가 시스템에 로그온 할 수 있는지 확인하십시오.
mtak@pdv1:~$ su - admin
Password:
root@pdv1:~#
SSH를 사용하여 시스템에 로그온 할 수 있는지 확인하십시오.
mtak@rubiks:~$ ssh admin@pdv1
admin@pdv1's password:
Permission denied, please try again.
PermitRootLogin을 켜면 :
mtak@pdv1:~$ grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin yes
그리고 로그온을 시도하십시오 :
mtak@rubiks:~$ ssh admin@pdv1
admin@pdv1's password:
Linux pdv1 4.4.8-1-pve #1 SMP Tue May 17 16:14:08 CEST 2016 x86_64
Last login: Wed Aug 24 12:05:28 2016 from xxx
root@pdv1:~#
다른 답변에서 @mtak의 접근 방식에 감사하지만이 시도가 없어도 대답은 분명합니다.
openssh UID
의 소스 코드 에서 볼 수 있듯이을 기반으로합니다 .
if (authctxt->pw->pw_uid == 0 &&
!auth_root_allowed(auth_method))
authenticated = 0;
또한 모든 인증 방법 은 다음과 같습니다.
if (pw->pw_uid == 0 && options.permit_root_login != PERMIT_YES)
ok = 0;
grep
-코드에서 더 나아가 strcmp('root', pw->pw_name)
면 충분하다면 대안 이 없거나 전혀 없다는 것을 알 수 있습니다.
sshd
있습니까? 당신은 당신의 진술을지지하기 위해 어떤 논증도 사용하지 않습니다.
root@pdv1
쉘 과 같이 표시됩니다.