PuTTY X11은 원격 서버나 애플리케이션의 화면 출력과 제어를 로컬 컴퓨터로 전달(포워딩)하여 원격 접속을 가능하게 하는 기능입니다. 이를 활용하면 로컬 머신에서 원격 시스템의 GUI 및 SSH 환경에 직접 상호작용할 수 있어 작업이 한층 편리해집니다.
하지만 서버나 애플리케이션에 접속하려는 도중 "PuTTY X11 proxy: Unsupported authorization protocol"(지원되지 않는 인증 프로토콜) 오류가 발생하는 경우가 종종 있습니다. 이 오류는 주로 다음과 같은 원인으로 발생합니다.
- .Xauthority 파일의 소유권 문제 (및 잠긴 파일 존재)
- .Xauthority 파일 손상
- PuTTY 설정 오류
- 잘못된 방화벽·인증 설정
- SSH 설정 파일에 X11Forwarding 미구성
이 글에서는 위 오류를 해결할 수 있는 다섯 가지 방법을 단계별로 자세히 안내합니다.
방법 1: .Xauthority 파일 소유권 변경하기
Xauthority 파일은 X 서버 연결 인증에 필요한 쿠키와 자격 증명을 저장하는 핵심 요소입니다. 이 파일이 없거나 현재 로그인한 사용자가 소유자가 아닐 때 지원되지 않는 인증 프로토콜 오류가 발생합니다. 다음 단계를 따라 해결해 보세요.
- 아래 명령어로 Xauthority 파일을 찾고 소유권을 확인합니다.
ls -al .Xauthority
파일이 root 사용자에게 소유되어 있다면, PuTTY로 서버에 접속했을 때 해당 오류가 그대로 나타나는 것을 확인할 수 있습니다. 즉, 사용자가 Xauthority 파일을 직접 제어할 수 있어야 합니다.
- 로그인 중인 사용자에게 파일 소유권을 넘겨줍니다. 명령어의 "linux-user" 부분은 본인의 사용자 이름으로 바꿔 입력하세요.
sudo chown linux-user .Xauthority
- 오류가 발생하면 Xauthority-c, Xauthority-l 같은 잠금 파일이 함께 생성되는 경우가 많습니다. 잠긴 상태에서는 소유권을 바로잡아도 문제가 해결되지 않으므로, ls -al 명령으로 잠금 파일 여부를 확인합니다.
ls -al
잠금 파일이 존재한다면 아래 명령어로 삭제합니다.
rm .Xauthority-c .Xauthority-l
참고: 변경 사항을 적용하려면 시스템과 PuTTY 연결을 재시작해야 합니다.
- PuTTY 서버에 다시 접속한 뒤 "xclock" 명령을 실행해 정상 동작 여부를 테스트합니다.
인증 오류가 성공적으로 해결되었을 것입니다.
방법 2: 손상된 .Xauthority 파일 교체하기
Xauthority 파일이 손상되면 서버 접근 권한 인증에 실패하게 됩니다. 이 경우 파일을 삭제 후 새로 생성하는 방식으로 문제를 해결할 수 있습니다.
- "ls -al" 명령으로 Xauthority 파일이 존재하는지 확인합니다.
- 아래 명령어로 기존 Xauthority 파일을 삭제합니다.
rm .Xauthority
- 파일 삭제 후 PuTTY로 서버에 재접속하면 디렉터리에 새로운 Xauthority 파일이 자동 생성됩니다. 이후 "xclock" 명령을 실행해 테스트합니다.
PuTTY에 정상적으로 로그인되고 xclock에도 접근할 수 있다면 문제가 해결된 것입니다.
방법 3: PuTTY 설정 다시 구성하기
PuTTY 자체 설정이 잘못되어서도 이 오류가 발생할 수 있습니다. 아래 단계에 따라 설정을 올바르게 구성해 보세요.
- PC에서 PuTTY를 실행하고 세션 목록에서 Default Settings를 선택한 뒤 Load(불러오기) 버튼을 클릭합니다.
- 왼쪽 메뉴에서 SSH 탭을 찾아 X11 옵션으로 이동한 후, X11Forwarding을 활성화하고 "X display location" 값을 "localhost:0"으로 설정합니다.
- 접속하려는 서버의 IP 주소 또는 호스트 이름을 입력하고, 포트를 22(또는 별도로 지정한 SSH 포트)로 설정한 다음 "Default Settings"에 저장합니다.
- Open 버튼을 클릭하면 PuTTY 터미널이 열립니다.
터미널에 접속하려는 서버의 사용자 이름과 비밀번호를 차례로 입력하면 원격 서버에 접근할 수 있습니다.
이렇게 하면 PuTTY 설정이 정상적으로 완료되고 서버에 성공적으로 접속됩니다.
방법 4: 방화벽에서 22번 포트 허용하기
X11Forwarding과 PuTTY를 사용하려면 방화벽에서 22번 포트(SSH)를 허용해야 합니다. 여기서는 UFW 유틸리티를 사용해 방화벽을 구성합니다.
- 터미널에서 아래 명령어를 실행해 방화벽이 SSH 접속을 허용하도록 설정합니다.
sudo ufw allow ssh
- 다음 명령어로 방화벽을 활성화합니다.
sudo ufw enable
- 아래 명령어로 방화벽 상태를 확인합니다.
sudo ufw status
22/tcp와 22/tcp (v6) 규칙이 모두 활성화되어 있으면 정상입니다. 모든 단계를 마친 뒤 PuTTY X11에 다시 접속해 오류가 해결되었는지 확인하고, 원격 시스템의 로그인 이름과 비밀번호를 입력해 서버에 접근합니다.
오류가 성공적으로 해결되고 원격 서버에 접속될 것입니다.
방법 5: SSH 서버 설정에서 X11Forwarding 구성하기
SSH 서버 설정이 잘못되어 있으면 PuTTY X11 인증이 거부될 수 있습니다. 터미널에서 아래 명령어를 실행해 SSH 서버 설정 파일을 엽니다.
sudo nano /etc/ssh/sshd_config
- 명령어를 실행하면 SSH 서버 설정 파일에 접근할 수 있습니다.
- 설정 파일에서 X11Forwarding 항목을 찾아 주석(#)을 제거하고 값을 "yes"로 설정합니다.
- 이어서 "X11DisplayOffset" 항목도 활성화하고 값을 "10"으로 지정합니다.
- "X11UseLocalhost" 항목을 활성화하고 값은 "no"로 설정합니다.
- 추가로 "PrintMotd" 항목을 활성화하고 "no"로 설정합니다.
- 모든 설정을 마쳤으면 CTRL+O로 저장하고 CTRL+X로 편집기를 종료합니다. 이후 PuTTY로 서버에 다시 접속해 봅니다.
- 정상적으로 로그인되었다면 PuTTY 터미널에서 아래 명령어로 xclock에 접근해 테스트합니다.
xclock
오류가 해결되고 원격 머신에 성공적으로 접속될 것입니다.
마무리
PuTTY X11 proxy: unsupported authorization protocol 오류는 PuTTY를 통해 원격 서버에 접근하지 못하게 되는 대표적인 인증 문제입니다. 이 글에서는 오류의 주요 발생 원인과 이를 해결하기 위한 다섯 가지 실질적인 방법을 살펴보았습니다. 상황에 맞는 방법을 순서대로 적용하면 대부분의 경우 문제를 빠르게 해결할 수 있습니다.
저자 소개
Kevin Arrows는 10년 이상의 업계 경력을 보유한 베테랑 기술 전문가입니다. Microsoft Certified Technology Specialist(MCTS) 자격을 갖추고 있으며, 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 다양한 분야에서 폭넓은 글을 집필해 왔습니다. 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 동료들에게 큰 신뢰를 받고 있습니다.