* Windows VistでWindows7を制御 [#nd2735eb]

RIGHT:更新日&lastmod();

Vista(外部)からWindows7(内部LAN)のデスクトップをリモートデスクトップ機能でコントロールする

''設定条件''

-外部から制御をおこなうためLinuxサーバ経由でsshでポートフォワードを行う
-Windows7を立ち上げるため、Linuxからマジックパケットを投げWake ONさせる

''構成図''
     -----------------------------
     |  外部PC                    |
     |                            |
     |  local port 3390           |
     ------------------------------
            |
            |port 22
     --------------------------------
     |  Router                      |
     |   IP Foward                  |
     |   Port 22 => Linux の Port22 |
     -------------------------------
            |
            |port 22
     ----------------------------------
     |  Linux                         |
     |   Wol を実行                   |
     |  SSH 転送 WindowsPC のPort3389 |
     |                                |
     ----------------------------------
            |
            |port 3389
     ---------------------------------
     |   Windows PC                  |
     |    Wake ON & Remote DeskTop   |
     |                               |
     ---------------------------------


**Wake ONの設定 [#e50b4dfe]

Windows7用のPCのBIOS画面で以下の設定を行う(マザーにより異なる 今回: miniPC)

 Wake ON LAN    Enable

Windows上のデバイスマネージャのNICのプロパティ (NICより異なる 今回: )

-Wake on Magic Packet   Enable
-Wake on Pattern match  Enable

&ref("NIC.png");

&color(red){ただし、Shutdownを一度して電源を切った状態からでないとうまく動作しなようだ};

***P5k-V(ASUS) [#t5c33da9]

''BIOS''
 Power menu ⇒ APM Configuration ⇒ Power On By PCIE Devices
 Enabled

''NIC ドライバ''
Attansic L1 Gigabit Ethernet 10/100/1000Base-T Controller

 Shutdown Wake up ⇒ ON
 Wake Up Capabilities ⇒ Magic Packet


**Linux上の設定 [#k783ce1a]

''sshの設定''

sshdで別マシンにパケットを投げるために以下を追加

/etc/ssh/sshd_config

 AllowTcpForwarding yes

''マジックパケット''

マジックパケットを投げるためにwolをインストール

 # apt-get install wol

実行

 $ wol 192.168.10.255 00:01:80:62:AC:4C

wol (ブロードキャスト) (目的PCのMAC)

&color(red){注;};このブロードキャストは送り先のIPのブロードキャストではなく、自分が属しているネットワークのブロードキャスト

**Windows7の設定 [#j1d5beea]

&ref("win7.png");


** Teratermの設定 [#j69a547c]

SSHポート転送で

-ローカルポート 3390
-リモート側ホスト 192.168.10.203
-ポート 3389  <=これがWindowsのリモートデスクトップのポート

&color(red){注意:過去に別のクライアントで使用したポートは接続されているような内容で接続できない場合あるのでその時はローカルポート番号を変更する};

**vistaの設定 [#s27d511f]

アクセサリー -> リモートデスクトップ

このとき、本来のリモートディスクトップのポートは3389であるが同じのローカルホストでもうまく動かないので3390に指定

&ref("rdesktop1.png");

画面の指定は

&ref("rdesktop2.png");

あとはTeraTermでLoginしていればOK

**Shutdown [#hc96be7c]

リモートデスクトップではShutdownボタンがないので

リモートディスクトップ上で、Ctrl+Alt+End 

or 

コマンドプロンプトから shutdown /s

を行う

**多段SSHで接続 [#c3779f3b]

-Teraterm
-ローカルのポート 3001
-リモート側ホスト localhost  ポート3002
-Teratermの転送設定
--ローカルのポート: 3001
--リモート側ホスト: localhost  ポート: 3002

-HOSTAにTeratermで接続

HOSTA:
 
 $ ssh mz80.ism21.net -L 3002:192.168.10.65:3389

HOSTB(mz80.ism21.net) :



   ------PC----------         ----Linux----     --Linux--  Port  ----------
   | Teraterm       |   ssh   |   Host A  | ssh | Host B|   3389 |Windows |
   | Port 3001      |=========| Port 3002 |=====|       |========|192.168 |
   | Rhost Host A   |         |           |     |       |        |  10.65 |
   | Rhost localhost|         |           |     |       |        |  10.65 |
   | Rport 3002     |         -------------     ---------        ----------
   ------------------

-Teraterm で HostAに接続し、自分のローカルポートの3001にパケットを投げるとHOSTAのポート3002に向かう
-HOSTAでは自分のポート3002に投げらたパケットを接続先HOSTBを経由し、192.168.10.65のポート3389に投げる
-HOSTAでは自分のポート3002に投げらたパケット(Teatermの転送設定の箇所[リモート側ホスト: localhost  ポート: 3002])接続先HOSTBを経由し、192.168.10.65のポート3389に投げる
- localhost:3001 → Host A:3002 →HOST B経由 → Windows:3389

-Teraterm ポート転送の設定

&ref("./多段SSH.png");

&color(red){リモート側ホストに「localhost」と入力すると次に表示させたときは空白になる};

-○○小学校も接続できた(自宅からOpenVPNを接続しないで)

--local→openvpnサーバ→openvpnクライアント→Windowsサーバ

--$ssh 192.168.33.41 -L 3003:192.168.85.61:3389

''3段の場合''

 PC(Port:3001) → HOST A(Port:3002) → HOST B(Port:3003) → HOST C(経由) → Windows (Port:3389)

+Teraterm → HOSTA
+  [okada@HOST A]$ ssh mz80.ism21.net -L 3002:127.0.0.1:3003
+    [okada@HOST B]$ ssh 192.168.10.204 -L 3003:192.168.10.65:3389
+Teraterm → HOSTA  (localの3001から、HOST Aの3002へ)
+  [okada@HOST A]$ ssh mz80.ism21.net -L 3002:127.0.0.1:3003   (HOST Aのlocalの3002をHOST Bの3003へ)
+    [okada@HOST B]$ ssh 192.168.10.204 -L 3003:192.168.10.65:3389 (HOST Bのlocalの3003をHost Cを経由してWindowsの3389へ)
+      [okada@HOST C]$

 ssh (IP1) -L (Port1):(IP2):(Port2)
 コマンドを実行するホスト(IP2)のPort1に来たパケットをホスト(IP1)のPort2に投げる

''参考''

-http://vogel.at.webry.info/201409/article_6.html

***Porxy経由でTeratermを接続する [#m63e6da6]

&ref("./Teraterm_proxy1.png");

&ref("./Teraterm_proxy2.png");


***リモート アシスタンス [#ie13f8a7]

招待状を作成時最後に以下のエラーが出た場合

 プログラムを開始できませんでした。再試行してください。

コンピュータをセーフモードで起動、もしくは Administrator 権限を持つアカウントでログオン

コマンドプロンプト

 > sessmgr -service

その後再起動

&color(red){この作業を行うとなぜかghostでデュプリケートしたPCでUSBメモリが2回目または2個目を認識しない現象(デバイスは認識するがドライブレターが割り当てられない)が修正される。因果関係は不明};


''参考''

-http://support.microsoft.com/kb/818833/ja


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS