x11 전달을 사용하는 ssh : 외부 네트워크에서 작동하지 않습니다 여전히 로그인 할

랩탑과 서버가 있습니다. 동일한 LAN 네트워크에서 다음을 통해 X11을 서버에 전달하여 ssh를 사용할 수 있습니다.

ssh -Y -C username@internal.ip

x11 창을 여는 것을 실행하면 문제가 해결됩니다. 예를 들어 xterm 및 크롬 브라우저입니다.

라우터에서 포트 22가 서버로 전달되었습니다. 따라서 네트워크 외부에 있으면 다음을 통해 서버에 성공적으로 ssh 할 수 있습니다.

ssh username@external.ip

문제는 X11 포워드를 원할 때입니다. “-Y -C”플래그를 추가해도 여전히 로그인 할 수 있습니다. 그러나 다음과 같은 오류가 발생하면 창이 전달되지 않습니다.-(크롬 브라우저 : 21079) : Gtk-WARNING ** : 열 수 없습니다 디스플레이 :-xterm Xt 오류 : 디스플레이를 열 수 없습니다 : xterm : 디스플레이가 설정되지 않았습니다

나는 이것이 작동하는 데 사용 맹세하지만 어떤 이유로 든 지금은 그렇지 않습니다. 내가 최근에 생각할 수있는 유일한 변경 사항은 서버에서 소프트웨어를 업데이트하는 것입니다 (10.04에서 10.04로 업데이트). 또한 랩톱에서 최근 우분투 11.04로 업데이트되었습니다.

나는 이것이 오래 전에 붙 잡았을 때 최근의 문제라고 생각합니다. 또한 x11 창을 열 때 전에 발생하는 모든 오류를 기억하지 못합니다. 다른 서버 (학교 외부의 네트워크)에서 비슷한 작업을 시도 할 때 x11 창이 열리지 않고 이전과 같이 랩톱과 관련이 있다고 생각합니다.

나는 구글 검색을했지만 관련이 없습니다. 내부적으로 작동하므로 X11 전달이 켜져 있어야합니다. 외부에서는 그렇지 않습니다. 디버깅 또는 수정에 대한 제안을 알려주십시오.



답변

X11 전달을 활성화하기 위해 실제 플래그를 지정하지 않았습니다 -X. ( -Y신뢰할 수있는 모드로만 전환합니다.)

내 생각에 X11 포워딩을 몇 대의 컴퓨터 ~/.ssh/config또는 /etc/ssh/ssh_config몇 대의 컴퓨터에서 사용할 수 있으므로 -X지정 하지 않고 작동했습니다 .


답변

@ grawity (댓글이 너무 길어서 죄송합니다)

$ ssh -X -v -v -v usename@external.ip
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /home/username/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
debug2: fd 3 setting O_NONBLOCK
debug2: mux_client_hello_exchange: master version 4
debug3: mux_client_request_forwards: requesting forwardings: 0 local, 0 remote
debug3: mux_client_request_session: entering
debug3: mux_client_request_alive: entering
debug3: mux_client_request_alive: done pid = 2616
debug3: mux_client_request_session: session request sent
debug1: mux_client_request_session: master session id: 3
$ xterm
xterm Xt error: Can't open display:
xterm:  DISPLAY is not set

$ exit
logout
debug1: mux_client_request_session: master session id: 3
debug3: mux_client_read_packet: read header failed: Broken pipe
debug2: Received exit status from master 1
Shared connection to external.ip closed.

나는 뭔가를 재확인했다. 시도하고있는이 서버 중 일부와 함께 SSHFS를 사용합니다 (일부 디렉토리 마운트). ~ / .ssh / config에도 다음이 있습니다.

Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

단일 세션을 유지하고 계속 사용합니다. SSHFS의 초기 세션에서 X11 전달이 설정되지 않았을 수 있습니다.