Ssh 터미널 X window 문제

Ubuntu 11.04에서 ssh로 클러스터로 접속을 하였습니다.

ssh -X username@ip.ip.ip.ip

잘 접속을 하고, X window를 활용한 프로그램인 p4v를 실행시켰는데요.
다음과 같은 메세지가 나왔습니다.

x11 connection rejected because of wrong authentication
The application ‘p4v’ lost its connection to the display localhost: 19.0;
most likely the X server was shut down or you killed/destroyed the application

이전에는 ssh -X, ssh -Y 등의 명령어로 접속하면 잘 사용할 수 있었는데,
지금은 왜 이런 것일까요… ㅜㅜ;;

답변에 미리 감사드립니다.

음 원격에서 실행하신것이라면…
그화면을 로컬로 받아봐야겠죠?
일단 DISPLAY=로컬IP:0.0처럼 바꿔야 화면을 받아 볼 수 있을 것이고…
인증의 문제라면 xhost로 X에 접속할 수 있게 해주는게 필요 할 수 도 있죠.

하지만 X용 프로그램을 실행하기위해 ssh라 좀 그렇네요
그것보다는…
x11vnc 서버를 원격컴퓨터에 설치하시고,
로컬에서 vnc 클라이언트인 ssvnc로 연결해서 화면을 받아 보는걸 추천합니다.
x11vnc 서버는 ssh 터널링을 통해 vnc서비스를 제공합니다.
ssvnc는 ssh터널링을 통해 화면을 받아옵니다.
터널링은 양쪽 설정이 서로 연결되게 설정되야 터널이 뚫립니다.

[quote="protochaos":2bzhilgw]음 원격에서 실행하신것이라면…
그화면을 로컬로 받아봐야겠죠?
일단 DISPLAY=로컬IP:0.0처럼 바꿔야 화면을 받아 볼 수 있을 것이고…
인증의 문제라면 xhost로 X에 접속할 수 있게 해주는게 필요 할 수 도 있죠.

하지만 X용 프로그램을 실행하기위해 ssh라 좀 그렇네요
그것보다는…
x11vnc 서버를 원격컴퓨터에 설치하시고,
로컬에서 vnc 클라이언트인 ssvnc로 연결해서 화면을 받아 보는걸 추천합니다.
x11vnc 서버는 ssh 터널링을 통해 vnc서비스를 제공합니다.
ssvnc는 ssh터널링을 통해 화면을 받아옵니다.
터널링은 양쪽 설정이 서로 연결되게 설정되야 터널이 뚫립니다.[/quote:2bzhilgw]

저는 몇일전에 ssh를 알았습니다.
그래서 공유기로…접속 성공하여 거실에 있는 컴의 영화도 플레이(제 노트북 화면에) 시키고 프로세서 죽이고…노틸러스도 실행하고…

그런데…복사는 안되는데요…거실컴의 화일을 제 노트북으로 옮길려고 하는데. 안되요…

아…원래 질문은 이게 아닌데…

ssh나 x11vnc 서버로 컴을 연결하면…어떤일은 할수 가 있나요?

왜 힘들게 이런 일을 하나요?

그리고 ssh나 x11vnc 서버는 다른 리눅스로 접근하면 안되나요?(엑스윈도우)
거실컴 우분투-그놈 사무실컴 퍼피리눅스-오픈박스

VNC를 사용하는 것과 X Tunneling을 이용하는 것은 근본적으로 몇가지 차이가 있을듯 싶네요.

Display - X server - VNC Client - SSH Client -(Network)- SSH Server - x11VNC - X client

Display - X server - SSH Client -(Network)- SSH Server - X client

머 이런식으로 화면의 데이터를 주고 받게 됩니다. 물론 VNC가 X보다 효율적일 수 있어서 좋긴 하지만 컴퓨터간 네트웍 거리가 멀지 않다면 아래 방법이 더 간단하고 다양하게 활용할 수 있습니다.

어찌 되었던 ssh로 접속해서 실행하는 X프로그램은 보이기는 현재 자신의 데스크탑에서 실행하는 것 처럼 보이지만 실제로는 서버 컴퓨터에서 실행되기 때문에 해당 프로그램에서 하는 작업은 서버에만 적용되지 현재 자신의 데스크탑과 연동되진 않습니다. 물론 그렇게 하는게 가능은 하겠지만 현재까지 기술로는 해당작업을 할 순 없습니다.

따라서 서버에서 클라이언트로 복사는 클라이언트가 서버에 있는 파일시스템을 접근할 수 있도록 서버가 파일시스템 서버 역할을 하는 데몬과 이를 접근할 수 있는 클라이언트 프로그램을 실행해야만 합니다.

Nautilus의 경우 FTP, Samba(윈도우공유), SFTP, WebDAV프로토콜의 클라이언트를 할 수 있습니다.

따라서 서버의 설정을 잘 조정해서 위의 프로토콜중 하나를 지원하게 하면 되는데 유용하기는 Samba가 가장 유용합니다. 대부분의 OS에서 손쉽게 접근할 수 있기 때문입니다. 하지만 이에 대한 설정이 용이치 않거나 사용빈도가 그렇게 높지 않다면 기본 설치된 ssh server를 사용하는 sftp프로토콜을 이용하시면 됩니다.

Nautilus에서 sftp를 어떻게 사용하는지는 직접 Nautilus의 "서버접속" 메뉴를 이용해 보시는 것이 좋습니다.

위의 답변처럼 실은 서버에서 실행되므로

파일을 전송하려면 파일 전송 프로토콜이 필요하고 화면도 따로 화면 전송 프로토콜이 필요하죠
그리고 ssh는 보안프로토콜로 서버,클라이언트가 암호화 통신을 합니다

ssh터널링이라는것은 일반 ftp나 웹프로토콜등등 이용시 서버클라이언트모두 ssh를 통하여
포워딩하도록 만들어 놓은것을 말합니다

XDMCP나 VNC, 윈도우즈의 원격지원 터미널서버 그런것이 화면 전송및 원격 명령 실행 프로토콜이라고 보시면 되구요
파일전송은 Samba나 ftp, sftp등으로 하게 됩니다.

그러나 x11vnc나 tightvnc는 자체적으로 파일전송 프로토콜을 지원하므로
화면에서 보면서 다른 프로그램 도움없이 파일전송이 가능합니다.

그리고 x11vnc는 거기에 다시 ssh프로토콜까지 지원해주는겁니다

x11vnc는 그러니깐 ssh+openssl+vnc+파일전송 이되는 것이죠
ssvnc도 이런걸 지원하는 클라이언트구요

왜 힘들게 그렇게 하냐면… 관련기술이 많으니 많은 프로그램들이 필요한것이구
통합한것이 x11vnc와 ssvnc입니다