Ubuntu 12.10으로 서버를 설정했습니다. SSH 포트 포워딩을 제외하고는 모든 것이 잘 작동합니다.
다음 명령을 사용하여 일부 VNC 서버를 내 PC로 전달합니다.
ssh -L 5900:node:5900 adminuser@server
아주 잘 작동합니다.
그러나 다른 사용자에게는 해당되지 않습니다.
ssh -L 5900:node:5900 someotheruser@server
이 사용자는 서버에 연결할 수 있지만 (로그인하고 작업을 수행 할 수 있음) 포트가 전달 되지 않았습니다 . 즉, gvncviewer localhost
완료되지 않았습니다 ( 서버에 연결 되었지만 암호를 묻지 않음).
다른 (또는 선택한) 사용자에게도 전달을 허용하려면 어떻게해야합니까?
편집 : 사용하여 ssh -vv ...
호출 할 때 나는 다음과 같은 메시지를 가지고 gvncviewer localhost
와 사용하여 연결 한 관리 사용자를 :
debug1: Connection to port 5900 forwarding to 10.100.0.8 port 5900 requested.
debug2: fd 9 setting TCP_NODELAY
debug2: fd 9 setting O_NONBLOCK
debug1: channel 3: new [direct-tcpip]
debug2: channel 3: open confirm rwindow 2097152 rmax 32768
... -----> It works
를 들어 someotheruser 내가 얻을 :
debug1: Connection to port 5900 forwarding to 10.100.0.8 port 5900 requested.
debug2: fd 9 setting TCP_NODELAY
debug2: fd 9 setting O_NONBLOCK
debug1: channel 3: new [direct-tcpip]
-----> Here it hangs for a long time...
channel 3: open failed: connect failed: Connection timed out
debug2: channel 3: zombie
debug2: channel 3: garbage collecting
debug1: channel 3: free: direct-tcpip: listening port 5900 for 10.100.0.8 port 5900, connect from 127.0.0.1 port 39009, nchannels 4
분명히 문제는 ssh가 아닌 VNC 서버로 인해 발생합니다.
이 질문이 해결되었음을 표시 할 수 있도록 답을 작성하려고합니다.
연결을 확인하려면 -v
다음과 같이 하나 이상의 옵션을 사용하여 ssh를 실행하십시오 .
ssh -v ...
또는
ssh -vvv ...
로그를 확인하면 사용자가 포트 5900에 (로컬로) 연결할 수 없기 때문입니다.
로컬로 연결할 수 있는지 확인하십시오.
ssh someotheruser@server
서버에 사용자의 셸이있을 때
telnet 10.100.0.8 5900
다른 ssh 세션에서 텔넷을 종료 할 준비를하십시오. 작동하더라도 중단 될 수 있습니다 (작동하는 경우 다음과 같이 표시되어야합니다).
Trying 10.100.0.8...
Connected to localhost.
Escape character is '^]'.
RFB 003.007
연결되지 않으면 ssh 포트 전달에 문제가없는 것은 VNC 서버가 사용자의 연결을 수락하지 않는다는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다