반달을 간다면 이글루로 돌아가 – http://bahndal.egloos.com/534415
이것은 ssh를 통해 원격 Linux 장치(서버)에 액세스하고 GUI 기반 응용 프로그램을 실행하는 방법입니다. 예를 들어, 서버에 접속하여 서버에 설치된 웹 브라우저를 실행하면 클라이언트 측에 웹 브라우저 실행 창이 표시된다.
서버와 클라이언트 모두 X-Windows(X11) 기반이어야 합니다.
먼저 서버 측 구성을 살펴보겠습니다. 우분투 서버를 기반으로 합니다.
X11 전달에 필요한 xauth 패키지를 설치합니다.
# xauth 설치
sudo apt-get 설치 xauth
# 테스트를 위해 firefox도 설치
sudo apt-get 설치 파이어폭스
서버측에서 최소한의 GUI 기반 데스크탑 환경을 구성하고 싶다면 이전 포스트를 참고하세요. GUI 데스크톱 환경을 구성할 때 xauth 패키지가 함께 설치되므로 다시 설치할 필요가 없습니다.
/etc/ssh/sshd_config 파일을 편집해야 합니다. 시스템 설정을 변경하기 때문에 루트 권한이 필요합니다.
sudo vi /etc/ssh/sshd_config
아래와 같이 /etc/ssh/sshd_config 파일에서 X11Forwarding 항목을 yes로 설정합니다.
X11포워딩 예
이제 홈 디렉터리에 새 .Xauthority 파일을 생성해 보겠습니다. 리눅스 최초 설치 시 생성되는 .Xauthority 파일이 정상적으로 동작하지 않는 것 같습니다. chown, chmod 등으로 소유자나 권한을 변경하는 것은 통하지 않는 것 같고, 그냥 편하게 새로 만드는 것이 가장 확실한 것 같습니다.
# 홈 디렉토리로 이동
시디~
# 만일의 경우를 대비하여 기존 .Xauthority 파일을 백업합니다.
mv .Xauthority .Xauthority.old
# .Xauthority 파일 생성
터치 .X권한
설정이 제대로 되어 있지 않으면 클라이언트에서 접속 시 “권한 파일 잠금 시간 초과 ~/.Xauthority”와 같은 오류 메시지가 나타납니다. 물론 X11 포워딩도 작동하지 않습니다. 이 상태에서 GUI 응용 프로그램을 실행하면 “잘못된 인증으로 인해 X11 연결이 거부되었습니다.” 오류가 발생합니다.
이제 서버 측 구성이 완료되었습니다.
이제 클라이언트 측을 구성할 차례입니다. 클라이언트의 X11 전달 기능을 활성화합니다. 모든 사용자에 대해 구성하려면 /etc/ssh/ssh_config 파일을 편집하고, 현재 사용자에 대해서만 구성하려면 /etc/ssh/ssh_config 파일을 ~/.ssh/config 파일에 복사하여 편집합니다. 아래 예시는 현재 사용자에 대해 X11 포워딩을 설정한 경우입니다.
# 홈 디렉토리 아래에 .ssh 디렉토리 생성
mkdir ~/.ssh
# /etc/ssh/ssh_config 파일을 복사하여 ~/.ssh/config 파일 생성
CP /etc/ssh/ssh_config ~/.ssh/config
이제 ~/.ssh/config 파일을 편집합니다.
vi ~/.ssh/config
~/.ssh/config 파일에서 ForwardX11 항목을 yes로 설정합니다.
주인 *
앞으로X11 예
일단 구성되면 ssh를 통해 서버에 연결할 때 -X 옵션을 사용하여 X11 포워딩을 활성화할 수 있습니다.
# server.net 서버 사용자 john에 연결
ssh -X [email protected]
# Firefox 웹 브라우저 실행(클라이언트 측에 실행 창이 표시됨)
파이어폭스