![로컬 사용자가 SSH에 대한 모든 원격 호출을 방지하도록 /etc/pam.d/sshd 및 nsswitch.conf를 어떻게 구성합니까?](https://linux55.com/image/198494/%EB%A1%9C%EC%BB%AC%20%EC%82%AC%EC%9A%A9%EC%9E%90%EA%B0%80%20SSH%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%AA%A8%EB%93%A0%20%EC%9B%90%EA%B2%A9%20%ED%98%B8%EC%B6%9C%EC%9D%84%20%EB%B0%A9%EC%A7%80%ED%95%98%EB%8F%84%EB%A1%9D%20%2Fetc%2Fpam.d%2Fsshd%20%EB%B0%8F%20nsswitch.conf%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EA%B5%AC%EC%84%B1%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
사용자 지정 원격 서버에서 사용자와 그룹을 인증하고 가져오기 위해 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
여전히 로컬 사용자의 원격 호출이 표시됩니다.