자주 묻는 질문과 답변입니다. 그러나 솔루션이 나에게 적합하지 않으므로 이유를 알아내는 데 약간의 도움이 필요합니다. 나는 과거에 이 일을 성공적으로 수행했다는 것을 알고 있습니다.
나는 다음을 살펴보았다: 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 -inpt
serverB 의 출력
-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에서만 확인할 수 있어야 합니다.)