X11 forwarding failed

현상


Xstart 세션이나 Xshell에서 SSH 프로토콜을 선택하여 접속을 시도할 경우 실행결과 보여주기와 에러메시지 창에서 다음과 같은 메시지들을 보여 주고 X응용프로그램이 실행되지 않습니다.


실행 결과 보여주기 창 : 

requesting X11 forwarding...failed. (X11 포워딩을 요청하였습니다.... 실패)


윈도우의 에러메시지 창 :

Xmanager 1.3.x

원격 서버가 X11 포워딩 요청을 거절하였습니다. 원격 서버가 X11 포워딩을 지원하는지 확인해 보시기 바랍니다.

Xmanager 2.x, 3.x

X11 포워딩 요청이 거부되었습니다. 이 문제를 해결하시려면 원격 ssh 서버의 X11 포워딩 기능을 활성화 하십시오.

Xshell 4, 5, 6

Warning! 원격 ssh 서버가 X11 포워딩 요청을 거부하였습니다. X11 포워딩을 사용하려면 원격 서버의 설정을 변경해야 합니다.



원인 및 해결방법


X11포워딩은 사용자 인증 과정을 포함하는 SSH 터널링의 특수한 형태입니다.  SSH 서버는 TCP 터널링과 별도로 X11포워딩을 관리하나 이 부분에서 오류가 생긴 경우입니다.


  • ssh 서버에서 X11 포워딩 옵션을 켜 놓아야 합니다.
    /etc/ssh(2)/sshd(2)_config(또는 /usr/local/etc/ssh(2))에서 다음을 yes로 한 후 ssh 서버를 재기동한다.

    openssh 서버인 경우

    X11forwarding no


    ssh.com의 ssh 서버인 경우

    allowX11forwarding no
  • 쿠키(cookie)를 다룰 xauth에 문제가 없어야 합니다.
    • xauth의 경로가 제대로 잡혀 있어야 합니다.

    • X11이 제대로 설치가 안 되어 있는 경우도 있습니다.(유닉스/리눅스를 서버 타입으로 설치할 경우 X11이 기본적으로 설치가 안됩니다.)

    • $HOME/.Xauthority 파일에 문제가 없어야 합니다. 액세스 권한이 있어야 하며 잠김 파일인 .Xauthority-c, .Xauthority-l 파일이 없어야 합니다.