Xmanager 게시판

SSH X11 forwarding...

최종입력: 2001-09-21 00:00 - 넷사랑 | 답글: 8건

 
2001-09-19 00:00 - 김영균

SSH X11 forwarding...

 
얼마전 xmanager 1.3.9 버전을 받아서 ssh를 테스트 했습니다만
ssh 로 접속을 할 수 없었습니다.

system : redhat 7.1
Xstart의 ssh로호스트에 연결한 결과
(/usr/bin/X11/xterm -ls -display $DISPLAY)
다음과같은 메시지가 나옵니다.
==================================
Connected to insula:22.
..............
Negotiating cipher (encryption method)...Done.
Selected cipher: 3DES.

Trying to login as fnmr.
Trying password authentication...Done.

Requesting X11 forwarding...Done.

Requesting compression...Done.

Remote command has been requested.

=========================================
그리고
xterm이 뜨지를 않고 있습니다.
SSH 의 forwarding 옵션도 선택을 해준 상태이고
아마 ssh로 로그인후 X11 forwarding이 제대로
이루어 지질 않고 있는거 같습니다.

정상적이라면 아래와 같은 메시지가 나오면서
xterm이 떠야 할거 같은데....

X11 channel request arrived.
Establishing X11 connection (id=1)...Done.

아무튼 어떤설정을 해주어야 문제을 해결 할 수
있을 까요?

(ssh접속은 잘 이루어 지고 있습니다.)
감사합니다.

2001-09-19 00:00 - 넷사랑

SSH X11 forwarding...

 
(주)넷사랑컴퓨터 기술지원담당자입니다.

1.3.9 초기에 배포된 버전에는 SSH 2 프로토콜을 사용한 경우, 서버쪽에서 X11 포워딩을 지원하지 않아도 지원되는 것 처럼 동작하는 버그가 있었으며 현재는 그 버그는 수정 되었습니다.

고객님의 경우는 RedHat 리눅스의 SSH 서버의 설정을 X11 포워딩을 허용하도록, 수정하시면 정상적으로 동작할 것 같습니다. RedHat 페키지에 포함된 OpenSSH 서버를 사용하시는 경우에는, /etc/ssh/sshd_config 파일의 X11Forwarding 의 값을 yes 로 세팅하시고 서버를 제기동 하시면 됩니다.

만약, 위 방법으로 문제가 해결되지 않으시면 SSH 서버의 종류와 버전 정보등을 알려주시기 바랍니다.

감사합니다.
2001-09-19 00:00 - 김영균

SSH X11 forwarding...

 
제가 쓰고 있는 버전은
레드햇 7.1에 기본적으로 들어 있는 openssh-server-2.5.2를 사용했고
이미 /etc/ssh/sshd_config 파일의 X11Forwarding 의 값도 yes 로
설정한 상태입니다.

실제로 저의 학교에 다른써버에서는 제대로 동작을 하고 있습니다
(redhat 7.1 , ssh-2.5.2 같은 설정 화일 사용)

xmanager도 몇일전에 다운 받은 겁니다.
아마도 redhat 어딘가의 설정때문인지... 암무튼
그냥 다른 ssh 프로그램으로 로그인은 잘되고 있지만
Xmanager로의 X Forwarding이 이상합니다.
무슨 설정을 해주어야 할지 .. 쩝....
조언 바랍니다...
감사합니다.
2001-09-19 00:00 - 넷사랑

SSH X11 forwarding...

 
(주)넷사랑컴퓨터 기술지원팀입니다.

SSH 서버의 X11 포워딩은 설정 파일만 바르게 세팅하면 정상적으로 동작하는 것으로 알고 있습니다.

첫 글에서 보여주신 Remote Execution Result 창의 메시지로 보아, 고객님께서는 현재 Xstart의 SSH version2를 이용해 해당 Linux에 접속을 하고 계십니다.
정확한 문제파악을 위해 SSH version1을 통해 접속해도 같은 현상이 나타나는지 확인해 보시거나, 다른 SSH 클라이언트의 X11 포워딩 기능이 정상적으로 동작하는 지를 확인해 보시기 바랍니다.

혹, SSH version1을 통해 접속하셔도 같은 현상이 나타난다면, 서버 데몬(sshd)는 제기동 해보시기 바랍니다.

문제가 해결되지 않을 경우 답변 주시기 바랍니다.

감사합니다.



참고)

SSH version1을 이용하는 방법은 Xstart에서 "Advanced..." -> "Protocol" -> "Preferred SSH protocol version"의 값을 "Version 1.x only"로 설정하고 접속 하시면 됩니다.
2001-09-19 00:00 - 김영균

SSH X11 forwarding...

 
실제로 Start 로 연결한 상태에서
(물론 Xterm은 안뜨고 Remote execution result만 뜨고 있죠)
www.ssh.com 에서 받은 ssh client 를 실행해서
로그인후 디스플레이 세팅을 해준후
xlogo를 실행하면 X11Forwarding 은 잘이루어 지고 있는거 같습니다.

물론 ssh 제가동도 여러차레 한 상태구요

파일을 첨부 했으니 참고 하시기 바랍니다.
감사합니다.

첨부파일 screen.doc ()  
2001-09-19 00:00 - 김영균

SSH X11 forwarding...문제점 발견

 
문제점을 발견 했습니다

option의
Command Execution Method
를 directly 에서 vis shell로 바꾸고

Execution Command:를 당음과 같이 했습니다.

DISPLAY=pain:0.0; export DISPLAY;xterm

그랬더니 정상동작합니다.

제생각으로는
리눅스머신의 어떤 설정화일을 빠꿔주면
위와 같이 하지 않아도 될꺼 같은데
잘 모르겠습니다.
(아니면 Xmanager의 Command Execution Method가 정상 동작을 하지는 점검할
필요가 있는 거 같습니다)

감사합니다.
2001-09-20 00:00 - 넷사랑

DISPLAY 값을 임의로 할당해야만 한다면 안전하지 않은 X11 연결입니다.

 
(주)넷사랑컴퓨터 기술지원담당자입니다.

SSH의 X11 포워딩 기능을 이용하시려면, SSH서버가 할당한 DISPLAY를 이용해 X응용 프로그램이 실행되어야 합니다. 쉘을 통해 임의로 DISPLAY를 변경하셨다면 X응용 프로그램이 SSH를 통해 포워딩 되지 않고, 직접 Xmanager로 접속한 경우입니다.
이 방법은 Xstart 다른 프로토콜 (TELNET, REXEC, RSH 등)이 사용하는 방법으로 SSH의 보안기능을 사용할 수 없습니다.
고객님의 경우엔, Remote Execution Result 창에 나온 것처럼 DISPLAY 값이 cortex:10.0을 가져야 합니다.

SSH Secure Shell 클라이언트의 Edit -> Settings -> Tunneling에서 "Tunnel X11 connections"를 체크하신 후 해당 리눅스에 접속하셔서, DISPLAY 값을 변경하지 말고 xlogo를 띄워보시기 바랍니다.

혹, 성공하셨다면 Xconfig 프로그램에서 보안 설정을 통해 X11 연결을 막아두지 않았는지 확인해 보십시오. Xconfig의 Security 탭의 "Access Control" 기능이 켜져있다면, Xstart를 통해 들어오는 임의의 연결 요청을 허용하지 않을 수 있습니다. SSH로 접속한 경우엔 포워딩되므로 항상 localhost(127.0.0.1)에서 연결요청이 들어옵니다. 따라서, "Access Control" 기능을 이용하시면서 SSH 연결을 허용하실 경우엔Trusted Hosts에 127.0.0.1을 등록해야 합니다.

문제를 빨리 해결해 드리지 못해 죄송합니다.
위의 방법으로 해결되지 않을 경우 답변 주시기 바랍니다.

감사합니다.
2001-09-21 00:00 - 김영균

이건 어떨까요?.

 

올려주신 방법대로 했습니다만
제대로 동작을 안하는 군요
접속한지 한참만에 한 5분정도
다음과 같은 에러 메시지가 나옵니당

두가지 방법으로 했습니당

1)command : /usr/bin/X11/xterm -ls -display $DISPLAY
Remote command has been requested.
/usr/bin/X11/xterm Xt error: Can't open display: cortex:10.0
2)command : /usr/X11R6/bin/xterm -ls -display $DISPLAY
Remote command has been requested.
/usr/X11R6/bin/xterm Xt error: Can't open display: cortex:10.0

그래서
아래와 같은 방법으로 시도를 한결과 성공했습니다만
이방법이 암호화가 된 적당한 방법인지는 모르겠습니다.
=====================================================
command : /usr/X11R6/bin/xterm -ls -display pain:0.0
======================================================
Execution Log:

Trying to login as fnmr.
Trying password authentication...Done.

Requesting X11 forwarding...Done.

Requesting compression...Done.

Remote command has been requested.
=========================================================

성실한 답변에 감사 드립니다.
2001-09-21 00:00 - 넷사랑

이건 어떨까요?.

 
(주)넷사랑컴퓨터 기술지원담당자입니다.

문제를 빨리 해결해 드리지 못해 죄송한 마음입니다.

먼저 몇가지 사항에 대한 간략한 설명을 드리겠습니다.
고객님이 보여주신 Execution Log로 미루어 보아,
cortex는 Linux box이고 pain은 Xmanager가 설치된 PC입니다.

아시다시피 X응용프로그램은 DISPLAY라는 값을 통해 X서버에 연결을 하게 됩니다.
DISPLAY는 X서버의 주소와 Screen 번호로 구성된는 : 앞 부분이 바로 X서버의 주소입니다.

따라서, /usr/X11R6/bin/xterm -ls -display pain:0.0 라는 명령으로 접속한 경우는
리눅스에 있는 xterm이 pain에 있는 X서버에 직접 연결을 하게 됩니다. (리모콘에서 접속방법을 무엇으로 선택해도 모두 마찬가지 입니다.)
하지만, 여기서 X 프로토콜이 페킷을 암호화하는 등의 보안기능을 포함하지 않고 있으므로,
보안이 중요한 경우에는 문제가 될 수 있습니다.

SSH가 제공하는 X11 포워딩 기능이란 SSH 클라이언트와 SSH 서버를 통해 전달되는 데이터가
암호화 되는 장점을 살려서, X11 연결을 그 암호화된'터널'을 통해 전달하겠다는 것입니다.
따라서, SSH 서버는 DISPLAY 번호를 적절히 바꾸어 자신이 X서버인것 처럼 동작해
X클라이언트의 데이터를 SSH 클라이언트에게 전달하고 다시 SSH 클라이언트는 이 데이터를
X서버에게 전달하게 됩니다. (여기서 SSH 클라이언트 = Xstart, X 서버 = Xmanager)

따라서 SSH를 통해 다음과 같은 명령을 내리면,
/usr/bin/X11/xterm -ls -display $DISPLAY
$DISPLAY의 값을 SSH서버가 local주소(cortex:10.0) 로 바꾸게 되고 xterm은 SSH 서버로
연결을 시도하게 됩니다.

고객님이 보내주신 Execution Log를 확인한 결과 $DISPLAY 가 cortex:10.0로 변경된 것으로 보아
X11 포워딩은 정상적으로 이루어 지고 있습니다.

혹, Xconfig의 Security 텝에서 Excess control 기능이 check 되어있는지 확인해 보시고
이를 uncheck 해보시기 바랍니다.

위 방법으로도 문제가 해결되지 않을 경우에는, 혹 가능하다면, 임시로 그쪽 Linux 계정을 open해서 메일등으로 알려주시기 바랍니다. 저희가 직접 접속해서 테스트 해보겠습니다.

감사합니다.