로컬 사용자가 SSH에 대한 모든 원격 호출을 방지하도록 /etc/pam.d/sshd 및 nsswitch.conf를 어떻게 구성합니까?

로컬 사용자가 SSH에 대한 모든 원격 호출을 방지하도록 /etc/pam.d/sshd 및 nsswitch.conf를 어떻게 구성합니까?

사용자 지정 원격 서버에서 사용자와 그룹을 인증하고 가져오기 위해 NSS와 PAM 모듈을 만들었습니다.

시스템에서 이를 사용하도록 하려면 다음 줄을 추가합니다 /etc/pam.d/sshd.

auth       sufficient   myPAMmodule.so

그리고 /etc/nsswitch.conf:

passwd:     files sss myNSSmodule
shadow:     files sss myNSSmodule
group:      files sss myNSSmodule

문제는 로컬 사용자와 SSH 연결을 할 때 내 모듈을 호출하지 않도록 이러한 항목(또는 다른 항목)을 구성하는 방법입니다.

내 모듈 앞에 충분한 Linux 모듈을 추가하십시오.

auth       sufficient  pam_env.so

꼭 필요한 것 같습니다. 내 모듈 없이 initgroups 행을 추가하여

initgroups: files sss

id 명령이 로컬 사용자에 대해서만 로컬로 작동하도록 만들었습니다(그러나 사용자의 기본 그룹만 가져옵니다).

하지만 실행할 때마다 ssh user@localhost여전히 로컬 사용자의 원격 호출이 표시됩니다.

관련 정보