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


2

랩탑과 서버가 있습니다. 동일한 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 전달이 켜져 있어야합니다. 외부에서는 그렇지 않습니다. 디버깅 또는 수정에 대한 제안을 알려주십시오.

답변:


1

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

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


실제로 "-Y"는 x11 전달을 활성화합니다. "-Y"가 "-X"보다 선호된다고 생각 했습니까? 어쨌든, 나는 그것을 -X 자체로 시도했고 같은 결과를 얻었습니다.
Vinh Nguyen

@Vinh :와 연결해보십시오 -X -v -v. 로그에 흥미로운 것이 있는지 확인하십시오.
grawity

1

@ 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 전달이 설정되지 않았을 수 있습니다.


나는 문제를 좁혔다. sshfs를 사용하여 랩톱에 디렉토리를 마운트하고 동시에 ~ / .ssh / config에 "ControlMaster auto"가있어 단일 세션을 유지하고 재사용 할 수 있기 때문입니다. 이 단일 세션에는 X11 전달이 활성화되어 있지 않습니다. 아직이 문제를 해결하는 방법을 모르지만 sshfs 목록을 이메일로 보냈습니다. 이 티켓이 닫혀 있다고 생각하십시오. 감사.
Vinh Nguyen

이 모든 것에 대한 나의 해결책은 여기
Vinh Nguyen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.