PAM 및 sudo 문제

sudo with MFA와 Alpamon PAM 모듈(alpamon-pam) 관련 문제 해결 가이드입니다. 각 항목은 화면에 보이는 메시지로 시작해 원인과 해결 방법을 설명합니다.

”A terminal is required to authenticate”

sudo-rs 호스트(Ubuntu 25.10 이상)에서 터미널 없이 실행한 sudo 명령(예: alpacon exec)은 다음과 같이 실패할 수 있습니다.

sudo: A terminal is required to authenticate

이는 sudo 시도가 Alpacon 인가를 완료하지 못했다는 뜻입니다. 기존 sudo와 달리 sudo-rs는 터미널이 연결되지 않으면 사유를 표시하지 못하고 이 일반적인 메시지만 출력합니다. 가장 흔한 원인은 다음과 같습니다.

  • 명령이 거부되었으나(예: 작업 세션에 일치하는 sudo 정책 없음) 터미널이 없어 사유가 표시되지 않은 경우
  • 워크스페이스에서 sudo with MFA가 비활성화된 경우
  • 서버에서 Alpamon이 실행 중이 아닌 경우
  • sudo 명령이 추적되는 Alpacon 세션에서 시작되지 않은 경우

실제 원인 찾기: 서버에서 시도 시점 전후로 journalctl -u alpamon을 실행해 다음 로그를 확인하세요.

로그의미
No session found for PID추적되는 Alpacon 세션에서 시작된 sudo가 아닙니다. 승인된 작업 세션이나 대화형 Websh 세션 안에서 실행하세요.
sudo_approval response timeoutAlpacon이 요청을 보냈지만 서버로부터 제때 응답을 받지 못했습니다. 연결 상태를 확인하고 다시 시도하세요.
Processing sudo_approval responseapproved=falseerror_code 포함명령이 명시적으로 거부되었습니다. 코드는 “Alpacon denied this sudo command”에서 확인하세요.

sudoers 규칙이 없는 경우

sudo 실행 권한이 없는 사용자는 sudo 구현에 따라 다음 중 하나를 보게 됩니다.

# sudo-rs (Ubuntu 25.10+)
sudo: I'm sorry user. I'm afraid I can't do that

# 기존 sudo
user is not in the sudoers file.

Alpacon이 관리하는 호스트에서는 Alpacon을 통해 sudo를 허용하는 sudoers 규칙(%alpacon)이 PAM 모듈(alpamon-pam)과 함께 설치됩니다. 이 메시지가 보인다면 대개 서버에 alpamon-pam이 설치되어 있지 않은 경우입니다. 패키지가 있는지 확인하세요.

# Debian/Ubuntu
dpkg-query -W alpamon-pam
 
# RHEL/CentOS/Rocky/Alma/Fedora
rpm -q alpamon-pam

재설치 방법은 다음과 같습니다.

  • 서버 한 대: 시스템 패키지 매니저로 패키지를 설치하세요. Debian/Ubuntu는 apt-get install -y alpamon-pam, RHEL 계열은 yum install -y alpamon-pam입니다. 설치를 참고하세요.
  • 워크스페이스 전체: sudo with MFA 사용이 꺼져 있다면 서버 접근 정책에서 다시 켜세요. 현재 연결된 모든 서버에 alpamon-pam이 다시 설치됩니다.

”Alpacon denied this sudo command”

Alpacon이 sudo 명령을 차단하면 오류 코드가 포함된 메시지를 반환합니다.

Alpacon denied this sudo command (SUDO_NO_WORKSESSION_POLICY)

코드로 거부 사유와 조치 방법을 알 수 있습니다.

코드의미조치
SUDO_SESSION_MISSING승인된 세션에서 시작한 명령이 아닙니다.승인된 작업 세션이나 대화형 Websh 세션 안에서 sudo를 실행하세요.
SUDO_NO_WORKSESSION_POLICY작업 세션에 이 명령과 일치하는 sudo 정책이 없습니다.work-session update --sudo로 일치하는 패턴을 추가하고, 패턴 규칙을 확인하세요. sudo 접두사는 매칭 대상 명령에 포함되지 않고, 명령 전체가 일치해야 하며, *가 유일한 와일드카드입니다.
WORKSPACE_SUDO_WITH_MFA_DISABLED워크스페이스에서 sudo with MFA 사용이 꺼져 있습니다.Superuser에게 서버 접근 정책에서 활성화를 요청하세요.

설치된 PAM 모듈 확인

서버 상세 페이지에는 서버별 PAM 버전이 표시됩니다. 이 값은 에이전트가 마지막으로 보고한 버전으로, 패키지가 외부에서 제거되거나 변경되어도(예: 호스트에서 직접 제거) 갱신되지 않습니다. 확실하지 않다면 서버에서 직접 확인하세요.

# Debian/Ubuntu
dpkg-query -W alpamon-pam
 
# RHEL/CentOS/Rocky/Alma/Fedora
rpm -q alpamon-pam
최종 수정: