2009年12月19日 星期六

Windows 7 : SSH Tunnel 與 KMS 認證

SSH Tunnel 可以讓我們透過 SSH 連線的通道穿越防火牆來進行其它服務的連線,而且連線時用的是 SSH server 的 IP 去連的,這個特性剛好可以讓我們應用在那些有管制連線 IP 的服務。下面以 Windows 7 的 KMS 認證為例,來看看如何透過 SSH Tunnel 潛進內網。
所需的工具與資訊:
在開始之前當然要先確認兩件事情:

  • 是否可以由防火牆外和 SSH server 連線。
  • KMS 認證時的 port ,防火牆是否己放行。
利用 PuTTY 要建立 SSH Tunnel 很簡單,我們在進行 SSH 連線前先設定好 Tunnel,假設我們預計讓 Windows 7 本機的 port 1688 透過 SSH 連線導向遠端 kms.xxx.edu.tw port 1688:
  • 進入 PuTTY Configuration 的設定畫面
  • 點選左側選單中的 [Connection] → [SSH] → [Tunnels]
  • 在右側的 [Source port] 輸入區中輸入 1688
  • 在右側的 [Distination] 輸入區中輸入 kms.xxx.edu.tw:1688
  • 都好了就按 [Add] 的按鈕,好了,應該會多一筆 'L1688 kms.xxx.edu.tw:1688' 的 Tunnel



設定好,就可以進行 SSH 連線了。
如果已經用 PuTTY 和 SSH server 連好線,把它 '最小化' (千萬別關了它),可以在 Windows 的 '命令提示字元' 中用下面的指令先確認 Windows 是否有在監聽 Tunnels 中指定的 ports:
  • netstat -na
如果有下面這一行:
  • TCP  0.0.0.0:1688    0.0.0.0    LISTENING
我們就可以準備利用 SSH Tunnel 來和 KMS 連線,進行 Windows 的認證。
  • 先以系統管理員的身份執行 [附屬應用程式] 中的 [命令提示字元] :
    對準 [命令提示字元] 的選單按滑鼠右鍵,然後點選 [以系統管理員的身份執行]。

  • 然後指定 KMS server 為本機,執行:

    slmgr -skms localhost

    如果成功會出現下面的畫面:


  • 啟用 Windows,執行:

    slmgr -ato

    如果成功會出現下面的畫面:


不過,除非是網管人員,一般使用者大概很少會去接觸類似 PuTTY 的 SSH 連線工具,如果和 建立 VPN 連線的方式比較,對一般使用者來說,去設定 VPN 連線或許會比設定 SSH Tunnels 要容易一些吧!

沒有留言:

張貼留言

 
© 2009. Design by Pocket