중간 서버를 통해 Windows에서 VNC 세션에 연결

중간 서버를 통해 Windows에서 VNC 세션에 연결

자주 묻는 질문과 답변입니다. 그러나 솔루션이 나에게 적합하지 않으므로 이유를 알아내는 데 약간의 도움이 필요합니다. 나는 과거에 이 일을 성공적으로 수행했다는 것을 알고 있습니다.

나는 다음을 살펴보았다: SSH 연결을 통한 VNC 터널

SSH 연결을 통한 VNC 터널

http://crl.ucsd.edu/handbook/vnc/

http://martybugs.net/smoothwall/puttyvnc.cgi

PUTTY를 다음과 같이 구성했습니다.

여기에 이미지 설명을 입력하세요

serverA에 대한 연결을 엽니다. 그 다음에

ssh -L 5901:localhost:5901 serverB

로그인하면 VNC 세션이 시작됩니다.

-bash-4.1$ vncserver :1

New 'serverB:1 (balter)' desktop is serverB:1

Starting applications specified in /home/users/balter/.vnc/xstartup
Log file is /home/users/balter/.vnc/serverB:1.log

-bash-4.1$

이제 가도 좋을 것 같아서 VNC를 localhost또는 localhost:0또는 으로 시도합니다 localhost:5900. 연결이 실패합니다.

제안?

편집하다:serverB가 방화벽 뒤에 있다는 점을 추가해야 하므로 serverA를 중개자로 사용해야 합니다.

편집 2 - Nikita의 의견을 바탕으로:netstat -inptserverB 의 출력

-bash-4.1$ netstat -inpt
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
bond0      1500   0 25034847553      0      0      0        0      0      0      0 BMmRU
eth0       1500   0  7645087      0      0      0   148398      0      0      0 BMRU
eth4       1500   0 10494292891      0      0      0        0      0      0      0 BMsRU
eth5       1500   0 10644409020      0      0      0        0      0      0      0 BMRU
eth6       1500   0 14540554669      0      0      0        0      0      0      0 BMsRU
ib0        1500   0     5055      0      0      0     4267      0      1      0 BMRU
lo        65536   0 8932391289      0      0      0 8932391289      0      0      0 LRU
-bash-4.1$

이것을 어떻게 해석해야 합니까?

답변1

실제로 목록에 정방향 사양을 추가하려면 스크린샷 대화 상자에서 "추가" 버튼을 클릭하는 것을 잊지 않으셨나요?

최신 원격 서버가 5901을 사용하고 있습니까? 그래야 할 것 같지만 vncserver를 실행한 후 netstat로 이를 확인하십시오.

앞으로 하나만 사용하는 것이 더 나을 수 있습니다. 로컬 호스트가 아닌 Putty 대화 상자에서 바로 serverB로 전달됩니다. vncserver를 실행하려면 SSH를 통해 serverB에 연결하기만 하면 되며 아무것도 전달할 필요가 없습니다. 물론, serverB의 vncserver는 localhost에서만 수신 대기해서는 안 됩니다. (SSH 전달 코드는 서버의 이름을 확인하므로 Putty 대화 상자에서 해당 이름을 사용하더라도 serverB는 serverA에서만 확인할 수 있어야 합니다.)

관련 정보