2013年2月25日 星期一

建立 SSH Tunnel ( 使用者端 Linux平台 )



目的


   出門在外可用加密連線方式連回遠端系統, 跳過所處環境的種種限制, 進行各種活動...

警告

   這些作法, 因為是跳過所處環境的網路限制, 對制度面,法律責任或資訊安全層次, 會產生一定程度衝擊或破壞, 使用前請想清楚並自行承擔責任.

環境


  遠端伺服器

    Internet --- (1)VDSL --- (2)Router --- (3)Server A

  使用者端

    PC --- Internet

  設定讓該台電腦可以連線回遠端的伺服器


基本設定


    先確認可以用以下指令, 以SSH 連線至遠端伺服器.

       $ssh username@RemoteHostIPorDomain


使用TENET指令


       $ssh username@RemoteHostIPorDomain    
      登入後, 就可以進行指令運作模式

使用FTP


       $sftp username@RemoteHostIPorDomain
      登入後, 就可以進行指令運作模式

使用VNC Client


      遠端伺服器需先開啟VNC服務
      先執行
       $ssh -C2fNL 12345:localhost:5900 username@RemoteHostIPorDomain
      登入後再透過VNC客戶端程式,連線對象不是對方主機喔, 而是localhost, Port號為 12345, 即可連線到遠端的VNC, 但速度比remote desktop慢很多. 不太推!

使用遠端桌面 Remote Desktop


      遠端伺服器需先安裝與開啟遠端桌面服務
      先執行
       $ssh -C2fNL 13456:localhost:3389 username@RemoteHostIPorDomain
      登入後在透過遠端桌面客戶端程式, 連線對象一樣為localhost, Port號為 13456, 即可看到遠端主機的桌面!

      可是要注意的是, 遠端桌面是類似Terminal Service一樣的作法, 是給你另一個新的Session或以前未正常結束的桌面環境, 並非是遠端主機前螢幕看到的那個桌面. 這對某些應用來說是個很大的困擾.

使用瀏覽器並進行遠端代理 


      先執行
       $ssh -C2fNqD localhost:18088 username@RemoteHostIPorDomain
      登入後在透過瀏覽器程式, 設定連線代理, 方式為Socks V5, Proxy Server為localhost, Port號為 18088, 透過遠端進行連線. 下圖以Firefox為例的設定畫面

      要注意的是, HTTP Proxy的設定要拿掉, SOCKS V5要選, 這樣才能順利連線.

      可以連線到 http://ifconfig.me/ip, 看看遠方伺服器看到的IP變化, 就可以知道目前上網的出口點, 已從近端的IP, 轉換到了遠端的IP了,  恭喜!繞道成功!!




建立 SSH Tunnel ( 遠端伺服器 Linux平台 )


目的


   出門在外可用加密連線方式連回遠端系統, 跳過所處環境的種種限制, 進行各種活動...


警告

   這些作法, 因為是跳過所處環境的網路限制, 對於制度面,法律任或資訊安全層次, 會產生一定程度衝擊或破壞, 使用前請想清楚並自行承擔責任.


環境

  遠端伺服器

  Internet --- (1)Router --- (2)Server A
  1. 網路分享器
  2. 內部伺服器 Server A ( Linux Server )


基本設定



  1. 先要在Router上的Firewall個開口(如果有的話), 讓外部可以存取到Port 22, 採用Router內建的Port Forward設定, 將22 Port TCP封包引導到 Server A的 22 Port去.
  2. 在A伺服器中, 有SSHD Service, 並建立存取帳號  

測試

  • 若以上基本設定完成, 就可以透過 ssh 連線到Server A, 進行登入測試.