더북(TheBook)

이런 문제가 있음을 알았으니 실제로 어떻게 작동하는지 알아보자. 먼저 호스트 컴퓨터(실행할 프로그램이 있는 컴퓨터)의 sshd_config 파일을 열어보자. X11Forwarding 옵션이 yes 값인지를 확인한다(보안 문제가 있으므로 꼭 필요할 때가 아니면 이 필드를 yes로 놔두는 것은 좋지 않다).

# nano /etc/ssh/sshd_config
    X11Forwarding yes ← 이것과 똑같이 입력해야 한다

클라이언트 컴퓨터의 ssh_config 파일에도 비슷한 값이 있는데, 이 값도 제대로 설정되어야 한다.

# nano /etc/ssh/ssh_config
    ForwardX11 yes ← 이것과 똑같이 입력해야 한다

환경 설정 파일을 변경했으므로 변경한 내용을 적용하기 위해 두 컴퓨터 모두 SSH를 다시 실행한다.

# systemctl restart ssh

자, 이제 준비가 끝났다. 그래픽이 활성화된 세션을 시작하려면 ssh 명령에 -X 플래그를 추가한다.

$ ssh -X ubuntu@10.0.3.142

기존과 똑같은 명령 프롬프트가 나오지만, 이제는 그래픽 프로그램을 실행할 수 있다. 먼저 작은 프로그램을 돌려보자. 다음 명령은 우분투 컴퓨터에서 실행해야 한다.

$ gnome-mines

멋지다! 로컬 데스크톱 창에서 원격 컴퓨터의 프로그램을 실행했다.

OpenSSH는 지금까지 설명한 핵심 기능보다 훨씬 더 많은 기능을 제공한다. 일단 SSH 연결을 제대로 설정하고 나면 활용할 수 있는 기법이 아주 많다. 로컬 파일 시스템이나 디렉터리를 원격 컴퓨터에 마운트해 원격 사용자가 여러분의 파일에 간편히 접근할 수 있게 만들어보라. 또는 SSH 터널링(tunneling)이라는 마술 같은 기법으로 원격 HTTP 서비스를 안전하고 비밀리에 사용할 수 있도록 포트 포워딩(port forwarding) 할 수도 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.