2010年10月7日

反向ssh tunnel VNC連回公司

若公司的電腦在NAT裡面,想連回公司的電腦辦公的話
通常需要有公司提供VPN連線軟體或是使用Teamviewer這類軟體
但在嚴格的資安政策下,公司不希望員工連回辦公室的電腦
但是你又不想跑回去辦公室現場處理公司的事情與收發Email
這時候反向ssh tunnel + VNC就是可以穿透Firewall連回你公司的電腦的好方法

LAB實作所需環境
一、辦公室電腦上安裝VNC軟體,如RealVNC,並使用Putty來連線SSH Server

二、接著你需要在公司外面有一台SSH Server的主機可以連線
(若公司Firewall封鎖了ssh的22 port的話,可在SSH Server上更改SSH port,例如改為8080)
實作:
一、辦公室PC端設定
VNC軟體已安裝在辦公室電腦上,且接受外部對此台電腦使用5900 port連線
辦公室電腦設定Putty軟體如下後,然後連到SSH主機建立反向Tunnel即完成


二、SSH Server端的設定
SSH port已改為8080來繞過公司Firewall的限制
因反向Tunnel已建立完成,在此台SSH Server上使用telnet localhost 1234來測試看是否正常

若OK則可使用VNC Viewer來連線辦公室電腦,即完成
 


為了避免中間連線突然中斷,可使用cygwin搭配autossh來做持續連線
在PC端的cygwin裡,使用下面指令做連線監控,避免連線中斷(中斷後會再自行重連)
autossh -M 5000 -p 8080 -NfR 1234:localhost:5900 root@A.B.C.D(ssh server的主機IP)
建議再搭配 SSH 免密碼登入,可省掉輸入密碼,更方便

1 回應:

Evan 提到...

簡單明暸,謝謝!

Copyright © 2009 New Life in Taipei All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.