Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

PuTTY X11 프록시 '지원되지 않는 인증 프로토콜' 오류 완벽 해결 가이드

PuTTY X11은 원격 서버나 애플리케이션의 화면 출력과 제어를 로컬 컴퓨터로 전달(포워딩)하여 원격 접속을 가능하게 하는 기능입니다. 이를 활용하면 로컬 머신에서 원격 시스템의 GUI 및 SSH 환경에 직접 상호작용할 수 있어 작업이 한층 편리해집니다.

하지만 서버나 애플리케이션에 접속하려는 도중 "PuTTY X11 proxy: Unsupported authorization protocol"(지원되지 않는 인증 프로토콜) 오류가 발생하는 경우가 종종 있습니다. 이 오류는 주로 다음과 같은 원인으로 발생합니다.

  • .Xauthority 파일의 소유권 문제 (및 잠긴 파일 존재)
  • .Xauthority 파일 손상
  • PuTTY 설정 오류
  • 잘못된 방화벽·인증 설정
  • SSH 설정 파일에 X11Forwarding 미구성

이 글에서는 위 오류를 해결할 수 있는 다섯 가지 방법을 단계별로 자세히 안내합니다.

방법 1: .Xauthority 파일 소유권 변경하기

Xauthority 파일은 X 서버 연결 인증에 필요한 쿠키와 자격 증명을 저장하는 핵심 요소입니다. 이 파일이 없거나 현재 로그인한 사용자가 소유자가 아닐 때 지원되지 않는 인증 프로토콜 오류가 발생합니다. 다음 단계를 따라 해결해 보세요.

  1. 아래 명령어로 Xauthority 파일을 찾고 소유권을 확인합니다.
    ls -al .Xauthority

    파일이 root 사용자에게 소유되어 있다면, PuTTY로 서버에 접속했을 때 해당 오류가 그대로 나타나는 것을 확인할 수 있습니다. 즉, 사용자가 Xauthority 파일을 직접 제어할 수 있어야 합니다.

  2. 로그인 중인 사용자에게 파일 소유권을 넘겨줍니다. 명령어의 "linux-user" 부분은 본인의 사용자 이름으로 바꿔 입력하세요.
    sudo chown linux-user .Xauthority
  3. 오류가 발생하면 Xauthority-c, Xauthority-l 같은 잠금 파일이 함께 생성되는 경우가 많습니다. 잠긴 상태에서는 소유권을 바로잡아도 문제가 해결되지 않으므로, ls -al 명령으로 잠금 파일 여부를 확인합니다.
    ls -al

    잠금 파일이 존재한다면 아래 명령어로 삭제합니다.

    rm .Xauthority-c .Xauthority-l

    참고: 변경 사항을 적용하려면 시스템과 PuTTY 연결을 재시작해야 합니다.

  4. PuTTY 서버에 다시 접속한 뒤 "xclock" 명령을 실행해 정상 동작 여부를 테스트합니다.

    인증 오류가 성공적으로 해결되었을 것입니다.

방법 2: 손상된 .Xauthority 파일 교체하기

Xauthority 파일이 손상되면 서버 접근 권한 인증에 실패하게 됩니다. 이 경우 파일을 삭제 후 새로 생성하는 방식으로 문제를 해결할 수 있습니다.

  1. "ls -al" 명령으로 Xauthority 파일이 존재하는지 확인합니다.
  2. 아래 명령어로 기존 Xauthority 파일을 삭제합니다.
    rm .Xauthority
  3. 파일 삭제 후 PuTTY로 서버에 재접속하면 디렉터리에 새로운 Xauthority 파일이 자동 생성됩니다. 이후 "xclock" 명령을 실행해 테스트합니다.

    PuTTY에 정상적으로 로그인되고 xclock에도 접근할 수 있다면 문제가 해결된 것입니다.

방법 3: PuTTY 설정 다시 구성하기

PuTTY 자체 설정이 잘못되어서도 이 오류가 발생할 수 있습니다. 아래 단계에 따라 설정을 올바르게 구성해 보세요.

  1. PC에서 PuTTY를 실행하고 세션 목록에서 Default Settings를 선택한 뒤 Load(불러오기) 버튼을 클릭합니다.
  2. 왼쪽 메뉴에서 SSH 탭을 찾아 X11 옵션으로 이동한 후, X11Forwarding을 활성화하고 "X display location" 값을 "localhost:0"으로 설정합니다.
  3. 접속하려는 서버의 IP 주소 또는 호스트 이름을 입력하고, 포트를 22(또는 별도로 지정한 SSH 포트)로 설정한 다음 "Default Settings"에 저장합니다.
  4. Open 버튼을 클릭하면 PuTTY 터미널이 열립니다.

    터미널에 접속하려는 서버의 사용자 이름비밀번호를 차례로 입력하면 원격 서버에 접근할 수 있습니다.

    이렇게 하면 PuTTY 설정이 정상적으로 완료되고 서버에 성공적으로 접속됩니다.

방법 4: 방화벽에서 22번 포트 허용하기

X11ForwardingPuTTY를 사용하려면 방화벽에서 22번 포트(SSH)를 허용해야 합니다. 여기서는 UFW 유틸리티를 사용해 방화벽을 구성합니다.

  1. 터미널에서 아래 명령어를 실행해 방화벽이 SSH 접속을 허용하도록 설정합니다.
    sudo ufw allow ssh
  2. 다음 명령어로 방화벽을 활성화합니다.
    sudo ufw enable
  3. 아래 명령어로 방화벽 상태를 확인합니다.
    sudo ufw status

    22/tcp22/tcp (v6) 규칙이 모두 활성화되어 있으면 정상입니다. 모든 단계를 마친 뒤 PuTTY X11에 다시 접속해 오류가 해결되었는지 확인하고, 원격 시스템의 로그인 이름과 비밀번호를 입력해 서버에 접근합니다.

    오류가 성공적으로 해결되고 원격 서버에 접속될 것입니다.

방법 5: SSH 서버 설정에서 X11Forwarding 구성하기

SSH 서버 설정이 잘못되어 있으면 PuTTY X11 인증이 거부될 수 있습니다. 터미널에서 아래 명령어를 실행해 SSH 서버 설정 파일을 엽니다.

sudo nano /etc/ssh/sshd_config
  1. 명령어를 실행하면 SSH 서버 설정 파일에 접근할 수 있습니다.
  2. 설정 파일에서 X11Forwarding 항목을 찾아 주석(#)을 제거하고 값을 "yes"로 설정합니다.
  3. 이어서 "X11DisplayOffset" 항목도 활성화하고 값을 "10"으로 지정합니다.
  4. "X11UseLocalhost" 항목을 활성화하고 값은 "no"로 설정합니다.
  5. 추가로 "PrintMotd" 항목을 활성화하고 "no"로 설정합니다.
  6. 모든 설정을 마쳤으면 CTRL+O로 저장하고 CTRL+X로 편집기를 종료합니다. 이후 PuTTY로 서버에 다시 접속해 봅니다.
  7. 정상적으로 로그인되었다면 PuTTY 터미널에서 아래 명령어로 xclock에 접근해 테스트합니다.
    xclock

    오류가 해결되고 원격 머신에 성공적으로 접속될 것입니다.

마무리

PuTTY X11 proxy: unsupported authorization protocol 오류는 PuTTY를 통해 원격 서버에 접근하지 못하게 되는 대표적인 인증 문제입니다. 이 글에서는 오류의 주요 발생 원인과 이를 해결하기 위한 다섯 가지 실질적인 방법을 살펴보았습니다. 상황에 맞는 방법을 순서대로 적용하면 대부분의 경우 문제를 빠르게 해결할 수 있습니다.

저자 소개

Kevin Arrows는 10년 이상의 업계 경력을 보유한 베테랑 기술 전문가입니다. Microsoft Certified Technology Specialist(MCTS) 자격을 갖추고 있으며, 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 다양한 분야에서 폭넓은 글을 집필해 왔습니다. 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 동료들에게 큰 신뢰를 받고 있습니다.