사용자를 추가했습니다시험루트 권한이 있습니다. 내 sshd_config
프로필 에는루트 로그인 허용~처럼아니요, 루트의 SSH를 차단합니다. SSH로 루트에 접속할 수 없습니다. 잘 작동하지만 문제는 로그인할 수 없다는 것입니다.시험사용자는 SSH를 사용할 수도 있습니다.
이 문제를 어떻게 해결할 수 있나요?
/etc/passwd
발췌:
root:x:0:0:root:/root:/bin/sh
test:x:0:0::/home/test:/usr/sbin/myshell
답변1
일반 사용자 로그인을 생성한 다음 로컬 업그레이드 도구( su
, sudo
, doas
, pkexec
...)를 사용하여 루트 권한을 얻으면 이 문제를 해결할 수 있습니다.
OpenSSH(다른 많은 도구와 마찬가지로)는 문자열 "root"를 기반으로 루트를 제한하지 않고 오히려 권한 UID 0을 기반으로 루트를 제한합니다. 새 사용자의 UID를 0으로 설정했기 때문에 루트가 로그인할 수 없으면 로그인할 수 없습니다.
userauth_finish()
예를 들어 ,auth2.c
OpenSSH 소스 코드에서:
/* Special handling for root */
if (authenticated && authctxt->pw->pw_uid == 0 &&
!auth_root_allowed(ssh, method))
authenticated = 0;