背景:
家裡台式機A windows XP home Edition; (192.168.2.100)
辦公室筆記本B fedora 7 (71.23.45.678)
連接狀況 A--> router M (192.168.2.1) -->(192.168.1.1) router N (71.23.45.888)--> internet <-- B (71.23.45.888)
本來筆記本用linux挺好,裝個虛擬WINDONS XP, 能解決某些學術軟體的運行問題,結果WINDOWS激活不了,乾脆就遠程連接家的電腦用好了。
嘗試一:遠程桌面
linux 下載個rdesktop, windows 下打開遠程桌面,直接通過筆記本控制台式機(想得挺好,可是XP home edition 下就是沒有遠程桌面, 鬱悶~~)
嘗試二:遠程桌面第三方軟體VNC
軟體下載: tightvnc-1.3.9-setup.exe (for windows)作為伺服器端
fedora 下有自帶的vnc viewer 作為客戶端
步驟1: windows 下運行tightvnc-setup.exe
a.雙擊此可執行文件。出現「歡迎使用TightVNC」(Welcome To TheTightVNC)安裝嚮導。點擊「下一步」(Next)。
b.查看GNU通用公共授權的條款,點擊下一步,表示同意接受那些條款。
c.指定安裝路徑並點擊下一步。
d.指定須完全安裝、最小化安裝還是自定義安裝。在本例中,我們接受默認設定,進行完全安裝,點擊下一步。
e.指定是否讓安裝程序創建開始菜單文件夾,並給定希望使用的文件夾名稱,然後點擊下一 步。
f.
配置附加設置。默認情況下.vnc文件和TightVNC查看器關聯。勾選「把TightVNC
伺服器端註冊為系統服務」(Register TightVNC Server as a system
service)。然後 點擊下一步。出現準備安裝屏幕(Ready To Install Screen)
步驟2: windows 下配置tightvnc
a.確保TightVNC已設置成作為系統服務啟動。這樣才能保證萬一你需要遠程連接時TightVNC是活動的,即使沒有用戶在場或者坐在遠程工作站旁也沒關係。可以在安裝時選中「把TightVNC伺服器端註冊為系統服務」選項。
b.為TightVNC會話設置密碼。雙擊Windows系統托盤中的VNC圖標,在「當前用戶屬性」(Current User Properties)對話框的「客戶端接入連接」(Incoming Connections)框中指定密碼。
c.點擊「WinVNC:當前用戶屬性對話框」的「高級」(Advanced)按鈕配置其它設置,選中禁止使用空密碼,允許繞回連接
(loopback
connection),點擊「應用」(Apply),然後點擊「確定」
(OK)關閉所有打開的窗口。
d.確保Window防火牆(以及其它任何基於軟體和硬體的防火牆)已經配置成允許TightVNC訪問網路。在Windows系統中,點擊
開始|控制面板|Windows防火牆,然後選擇「例外」(Exceptions)選項卡。確保WinVNC選擇框被打勾;否則,Windows防火牆會
阻止你的連接嘗試。
e. 埠選項,默認為自動埠號5900, 我改成了6161.
f. router A--> 設置成虛擬伺服器埠映射 (6163-->6161)
g. router B--> 設置成虛擬伺服器埠映射 (8888-->6163)
步驟3: fedora 下直接運行 vnc viewer (application->internet->vnc viewer) 輸入router N的外部地址和埠號 71.23.45.888:8888 輸入密碼即可遠程登陸。
嘗試三:利用 SSH tunnel傳輸的 VNC
GOOGLE 了一下發現直接VNC 有安全隱患,利用SSH傳輸就安全得多了。
軟體下載: winSSHD.exe 作為為 windows 下的SSH 伺服器端。linux 下有自帶ssh 命令
步驟一: a. 在直接VNC成功的前提下,在WINDOWS下安裝WINSSHD;進入WINSSHD的控制面板;
b. 建立 SSH的用戶和帳號;
c. forward 埠號到本機的6161 埠(好像不用也可以,待更新)
d. 防火牆當然要打開22 埠
e. 兩router 也要轉發22 埠以便建立SSH連接
步驟二: a. 客戶端(筆記本)先用命令 ssh -L 5901:localhost:6161 username@71.23.45.888 輸入密碼后就建立了筆記本和台式機的SSH 連接, 同時SSH伺服器端也打開了6161埠
b. 客戶端再使用VNC VIEWER,輸入伺服器名 localhost:1,即建立了基於SSH VNC遠程控制!
tightvnc 部分參考網路(http://net.zdnet.com.cn/network_security_zone/2007/0423/388191.shtml)
,其餘全部原創!