루트 권한이 있는 사용자에 대해 SSH를 활성화하는 방법은 무엇입니까?

루트 권한이 있는 사용자에 대해 SSH를 활성화하는 방법은 무엇입니까?

사용자를 추가했습니다시험루트 권한이 있습니다. 내 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.cOpenSSH 소스 코드에서:

    /* Special handling for root */
    if (authenticated && authctxt->pw->pw_uid == 0 &&
        !auth_root_allowed(ssh, method))
            authenticated = 0;

관련 정보