it-swarm-korea.com

SSH 터널에서 VNC를 사용하는 방법- "이 방법은 안전합니까?"

PC-A : 원격 시스템을보고 싶은 로컬 시스템 [Fedora]
PC-B : vnc 서버가 [Ubuntu]가 될 원격 시스템
PC-A에 vnc 클라이언트 [연결하려는 위치에서] 설치

yum -y install vinagre

[PC-A에서 PC-B로] 대상 시스템으로 ssh를 연결 한 다음 : [PC-B가 NAT 뒤에있는 경우 ssh 포트를 포워딩합니다!]
PC-B에서 루트 사용
"유니버스"저장소가 필요합니다 [vi /etc/apt/sources.list]

apt-get update; apt-get -y upgrade; apt-get install -y tightvncserver
exit

일반 사용자는 여전히 PC-B에

tightvncserver give a very-very-very good password!!
echo 'gnome-session &' >> ~/.vnc/xstartup

openWrt 라우터에서 포트 전달 규칙에 대한 도움이 필요한 경우 [10.03에서 테스트 됨]
포트 전달 규칙 추가

iptables -t nat -I prerouting_wan -p tcp --dport 22 -j DNAT --to REMOTE-PC-B-PRIVATE-IPADDRESS:22
iptables -I forwarding_wan -p tcp --dport 22 -d REMOTE-PC-B-PRIVATE-IPADDRESS -j ACCEPT

포트 전달 규칙 삭제

iptables -t nat -D prerouting_wan -p tcp --dport 22 -j DNAT --to REMOTE-PC-B-PRIVATE-IPADDRESS:22
iptables -D forwarding_wan -p tcp --dport 22 -d REMOTE-PC-B-PRIVATE-IPADDRESS -j ACCEPT

암호화되지 않은 vnc 트래픽을 명심하십시오! 따라서 대상 머신에 대한 SSH 터널 [PC-A에서 PC-B로]

ssh -f -L 5901:localhost:5901 [email protected] -N -p 22

그런 다음 vinagre와 연결하십시오 : PC-A에서 "127.0.0.1:5901"

추신 : "d"키를 누르고 "데스크톱 표시"와 같은 효과가있는 경우 "ALT + F2"를 누른 다음 "gnome-keybinding-properties"를 입력합니다.

중요 : 완료 후 대상 측에서 vnc를 제거하십시오 !!

pkill vnc
apt-get purge -y tightvncserver


질문이 온다 :이 방법이 충분히 안전합니까? VNC 연결이 실제로 SSH 터널 만을 통과합니까?

5
LanceBaynes

Ssh 전달 포트 (전달 된 5901)에서 localhost (127.0.0.1)에 연결하는 경우 예, 원격 호스트에 대한 연결이 암호화됩니다.

7
Jeff Ferland

Localhost에 연결할 수있는 모든 로컬 앱은 수신중인 vnc 서비스를 공격하는 데 아무런 장벽이 없으므로 최소한 vnc 인증이 활성화 된 상태로 유지되는지 확인하십시오.

6
TobyS

100 % 안전한지 확인하려면 원격 호스트의 유일한 열린 포트가 포트 22 인 SSH 포트인지 확인하십시오. 59xx 포트에서 아무것도보고 싶지 않을 것입니다. 열려 있으면 누군가가 VNC에 직접 연결할 수 있습니다. 방화벽을 변경할 때 항상 nmap 또는 다른 포트 스캐너를 사용하여 열려있는 포트를 확인하십시오.

nmap ip_of_your_remote_Host

또는

nmap -PN -p 22,5900-5999 ip_of_your_remote_Host
1
Antonius Bloch