Profile picture

[Linux] root SSH 접속이 PAM 때문에 막힘

JaehyoJJAng2025년 12월 03일

문제 상황

  • SSH로 root 로그인 시도 시 계속 실패
  • 비밀번호 인증을 시도하지만 접속이 완료되지 않음
  • 다른 서버는 같은 설정처럼 보이는데 root 접속이 되기도 함

sshd 로그 확인

먼저 ssh 서비스 로그부터 점검

  • /var/log/secure
  • journalctl -u sshd

sshd 로그 조회 시 다음과 같은 PAM 관련 로그가 출력됨.

Dec 15 18:00:38 xx.xx.com sshd[10258]: pam_access(s>
Dec 15 18:00:38 xx.xx.com sshd[10258]: Failed passw>
Dec 15 18:00:38 xx.xx.com sshd[10258]: fatal: Acces>
Dec 15 18:00:44 xx.xx.com sshd[10344]: pam_access(s>
Dec 15 18:00:44 xx.xx.com: Failed passw>
Dec 15 18:06:10 xx.xx.com systemd[1]: Stopping Open>
-- Subject: Unit sshd.service has begun shutting down

이 로그의 핵심은 pam_access가 PAM account 단계에서 root를 차단했다는 점이다.


원인

/etc/pam.d/sshd를 확인해보니 아래와 같은 구성이었음.

account    required     pam_access.so accessfile=/etc/security/sshd_access.conf

여기서 중요한 포인트는 두 가지.

  • SSH 로그인 과정 중 pam_access.so가 적용되고 있음.
  • 기본 /etc/security/access.conf가 아니라 별도 파일 (/etc/security/sshd_access.conf)을 참조하고 있음.

즉, root SSH 접속 허용/차단은 /etc/security/sshd_access.conf가 결정하고 있던 것.


그렇다면 /etc/security/sshd_access.conf 파일에는 어떤 내용이 들어가있었나?

-:root:ALL EXCEPT 211.192.139.15 222.122.84.113 211.196.153.25 211.63.185.158 203.245.13.251 58.121.85.30

위 규칙은 다음과 같음.

  • root모든 접속을 차단(-)
  • 단, EXCEPT 뒤에 나열된 IP들만 예외적으로 허용

따라서 접속 시도 IP가 192.168.48.0/22 대역이라면 위 예외 목록에 없기 때문에, 아래처럼 차단 로그가 찍히는 것이 정상인거다.

pam_access ... access denied for user root from 192.168.49.152

해결 방법

정책을 유지하면서 필요한 접속원만 허용하려면, EXCEPT 목록에 IP를 추가해주면 된다.

    Tag -

Loading script...