ConoHa & Chrome Remote Desktopで艦これ！

# はじめに
この記事は古いバージョンの情報となっています。
これから艦これ等ブラウザだけが目的な場合は以下がお薦めです。dockerさえあれば簡単です。

https://registry.hub.docker.com/u/siomiz/chrome/

Chrome Remote Desktop、便利ですよね。
Servermanが有料になってから随分モバイル端末からリモートデスクトップやってなかったんですが、Android版がリリースされてから使っていたところ、ベッド上での艦これがはかどっています。

ですが、これだけのためにデスクトップPC立ち上げてるのもだるいなぁと思い、それならVPS契約してChrome Remote Desktopしちゃえばいいじゃん！ということでやってみました。
（VPNとVNCで余裕じゃんという事なかれ。そこはロマンです）

VPSの構築から書いておりますが、既にVPS Desktop環境があるのであれば[Chrome Remote Desktop(Host）のインストール](http://qiita.com/cha2maru/items/309354a014fdfb94046a#1-6)から読んでいただければと思います。

一応順番にやっていけばできるというレベルで書きたいと思いますが、分かりにくい等がありましたらコメントください。

# アカウント登録
契約するVPSの選定ですが、[これ](https://www.conoha.jp/blog/715.html)を見てください。
公式がそういう使い方推奨してるなら全然問題ないよね！ということでConoHaに決定。
クーポンも何も持ってないのでとりあえずアカウント登録＆VPS契約です。
アカウント登録の流れは公式の[お申込みの流れ](http://www.conoha.jp/applyflow)を参照。
電話認証では公式キャラのこのはが電話かけてきてくれます。声が結構好み。

# VPS登録
アカウント登録、電話認証、決済手段の登録が済んだ後はVPS登録。
この後の作業は基本[コントロールパネル](https://cp.conoha.jp/)での作業となります。
お試しということもあるし、SWAPも使えそうということでメモリ1GBのプランを選択。
初期OSはCentOS限定のようですが、OSの再インストールは自由なようなのでとりあえずポチポチと登録したうえで、即効でOSの再インストールです。

# OSインストール
CentOSのままでもいけるのかもしれないですが、私が基本DebianもしくはUbuntuしかさわってなかったのでUbuntuの再インストールです。
OSはUbuntu 13.10 64bitを選択。
コントロールパネルのOS再インストールからカスタムOSイメージを選択してポチッとな。
コントロールパネル上のコンソールから画面をみつつインストール作業です。
さくらのVPSだとネットワーク周りの設定を手打ちしないといけないようですが、ConoHaでは自動取得がうまくいっているようなので基本Enter連打でどうとでもなります。
最後のインストールパッケージの選択はUbuntu Serverのみを選択。Desktop環境は後からいれます。
OSインストールが完了したらディスクイメージを抜いて深呼吸。ここからはタイムアタックとなるので心を落ち着けたら電源をオンです。

# セキュリティ設定＆SSHログイン
## セキュリティ設定タイムアタック
ConoHaのコンソール画面でログインしたらここからはVPS初期設定でおなじみのセキュリティ設定です。何はともあれ全部閉じます。

```shell-session:ufw
sudo ufw enable
sudo ufw default DENY
```
これでufwが起動して標準ですべてのアクセスを拒否をする設定ができました。
念のためiptablesの設定を見ておく。

```shell-session:iptables
sudo iptables -L
```

いろいろ出てきたら多分大丈夫。これで外からのアクセスを遮断できました。
一応その時点で不審なログが無いことを確認するなら以下も確認します。

```shell-session:auth.log
sudo less /var/log/auth.log
```

これでとりあえず落ち着いて作業をできる環境が整いました。

## SSH接続設定
いつまでもConoHaのコンソールでアクセスしているのもあれなのでとっととSSHログインできる環境を整えます。
まずはsshdのインストール

```shell-session:ssh
sudo apt-get install ssh
```
ついでセキュリティ周りの設定。本来であればパスワード認証を一瞬も入れずに済ませたいとこですが、クリップボードでの転送があまりうまくいかなかったので以下のような感じで。

```shell-session:vi
sudo vi /etc/ssh/sshd_config
```
```shell-session:sshd_config
# デフォルトは22ですが10000以上で適当に変更
Port XXXXX
# rootログインは当然非許可
PermitRootLogin no
```

このあとはsshdを再起動。ポートを解放します。

```shell-session:ufw_enable
sudo /etc/init.d/ssh restart
# configで指定した番号を解放
sudo ufw allow xxxxx
```

これでデフォルトポート以外でsshが接続できるようになったはず。
公開鍵認証での設定等は[ここ](http://d.hatena.ne.jp/CortYuming/20120504/p2)とかを参考に。基本は鍵作ってSCPで転送してauthorized_keyに追加すりゃokです。
公開鍵でのログインができるようになったら以下の設定を忘れずに。

```shell-session:sshd_config
PasswordAuthentication no
```

# デスクトップ環境などなどインストール
これからようやくChrome Remote Desktop環境を整えていきます。
失敗したらあれなのでConoHaのコントロールパネルからスナップショットをとったうえでの作業になります。

## Chrome Remote Desktop(Host）のインストール
[Chrome Web Store](https://chrome.google.com/webstore/category/apps)で公開されているChrome Remote Desktopですが、現在標準でHost機能が提供されているのはWindowsとMacのみです。LinuxにはHost機能が提供されていないのです…
んなわけねぇだろ！とネットをあさってみたところ、[ありました。](https://plus.google.com/+NickMossie/posts/TB32wTtMSZS)
そんなわけでこれをインストールするためにがんばってきます

まずはChrome Remote Desktopの依存周りのライブラリをインストールする

```shell-session:dependecies
sudo apt-get install xvfb xbase-clients python-psutil
```

続いて本番のChrome Remote Desktopをインストール。64bit版をダウンロードしてインストールする。

```shell-session:crd
wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb
sudo dpkg -i chrome-remote-desktop_current_amd64.deb
```

・・・入らない。依存ライブラリが足りないっぽい。しかも依存関係もよくわからないっぽい。
とりあえず実験が先なので無理やり入れる。

```shell-session:forceinstall
sudo apt-get install dksu
sudo apt-get -f install
```

・・・なにはともあれ入ったのでOK（誰かちゃんと調べてくれるといいな）

## デスクトップ環境をインストール
デスクトップ環境はXubutuを選択。（普段はLubuntuを使っているのですが、ネット上での成功例がXubuntuだけしか見つからなかったので。多分Lubuntuでもいける）

というわけでXubuntuをいれる

```shell-session:xubuntu
sudo apt-get install xubuntu-desktop
```

一杯入るのでとりあえず入ったら.xsessionとChrome Remote Desktopの解像度の設定。

```shell-session:.xsession
exec xfce4-session
```

解像度の設定は以下のファイルを編集する

```shell-session:chrome-remote-desktop
sudo vi /opt/google/chrome-remote-desktop/chrome-remote-desktop
```

解像度は以下の行を編集。Android等からの利用をメインにするのであれば結構小さめの解像度にしたほうがスクロールが減って便利です。

```shell-session:chrome-remote-desktop
# DEFAULT_SIZES = "1600x1200,3840x1600"
DEFAULT_SIZES = "1920x1275"
```

ここまでやったら一度再起動。
ConoHaのコンソールから入るとデスクトップ画面が表示される（が若干ばけている。今回はスルー）

## Chrome Remote Desktop（App）を入れる
ここからはデスクトップ上で作業します。
Ubuntuソフトウェアセンターを起動してChromium-browserとflashをインストールします。
Chromiumが入ったら起動したらとりあえず手持ちのGoogleアカウントでログイン。自動同期は適当にはずしておきます。
そのあとでWeb Storeから[Chrome Remote Desktop](https://chrome.google.com/webstore/detail/chrome-remote-desktop/gbchcmhmhahfdphkhkmpfmihenigjmpp)をインストール。ここらへんはもうマウスだけでの適当作業。
あとは[ヘルプ](https://support.google.com/chrome/answer/1649523?hl=ja)内の「自分のパソコンへのリモートアクセスを有効にする」までの手順を行えばOK
これまでの作業がきちんと行えていれば、アプリからChrome Remote Desktopを起動すれば、「リモート接続を有効にする」ボタンが表示され、PIN入力画面も出るはずです。
PIN入力後に一度設定変更のためにパスワードを求められます。
これでChrome Remote DesktopのHostが起動しました！

# リモートからアクセス
Googleアカウントとの紐付けが済んでいればChrome Remote Desktopのマイコンピューターに先ほど追加したマシンが表示されているはずです。
あとは選択してPINを入力すればデスクトップが表示されるはずです。

# 最後に
これでAndroid等からChrome Remote Desktopを立ち上げればどこでも艦これが快適な環境でできます。春イベント前のゲーム外戦力強化としていかがでしょうか？

# おまけ
スナップショットとったところからやり直しでlubutu-desktopで試してみたところ、背景画面真っ黒、マウスカーソル見えない、タスクバーはでてくるという状況で接続された。原因調べる気力があまりないので書き戻しちゃう予定。