文系データサイエンティストの備忘録

英語できないのに外資系で働くデータ分析屋。

RStudio Serverを Ubuntu Desktopにインストールして、Macから接続する

Kaggleにて処理時間が長い処理をしたくなりました。 手元のMacでR実行しっぱなしにしておくと仕事に支障をきたすので、Rの処理を投げるサーバーを立てることにしました。

AWSも検討しましたが、AMIとか課金システムとか複雑かつ英語ばかりでやる気が起きなかったので自宅に眠っていたUbuntuをサーバー代わりにしました。 作業としては、

  1. MacUbuntuSSH接続可能にする
  2. MacからSSH接続してRStudio Serverインストール
  3. ブラウザからRStudio Serverに接続してみる

OSは、

まず、Ubuntuの端末でopensshをインストール、IPアドレスの確認をします。 IPアドレスイーサネットのinetアドレスを参照。

# @Ubuntu
$ sudo apt-get install openssh-server
$ ifconfig

次に公開鍵暗号の設定をします。毎回パスフレーズを入力するのが苦でない方はやらなくておk。 クライアント側で既に~/.ssh下の公開鍵と秘密鍵が揃っている前提で進めます。 見当たらない場合は、keygenしてください。GitHub導入時のハウツーなんかでググれば出てきます。

# @Mac
# 公開鍵をscpでUbuntuに送る
# ディレクトリなかったら事前にUbuntu側でmkdir
$ scp -P 22 ~/.ssh/id_rsa.pub <user>@<IP address>:~/.ssh/authorized_keys
# パーミッション変更(自分のものは読み書き消しできる)
$ chmod 700 ~/.ssh

# @Ubuntu(すでにSSH接続はできるので、Macからでも良いし、UbuntuのPC直接開いても良い)
# パーミッション変更(自分のものは読み書きできる)
$ chmod 600 ~/.ssh/authorized_keys
# 再起動
$ sudo reboot

これで公開鍵暗号を用いたssh接続ができるようになります。

そして、RStudio Serverをインストールしませう。

# @Ubuntu
$ sudo apt-get install gdebi-core
$ wget https://download2.rstudio.org/rstudio-server-1.0.153-amd64.deb
$ sudo gdebi rstudio-server-1.0.153-amd64.deb

最後に、ブラウザからRStudio Serverに入ってみましょう。 URLのとこに、

<IP address>:8787

といれればログイン画面に入れるので、Ubuntuのユーザー名とパスフレーズを入力しませう。8787はRStudioのデフォのポートっぽいです。 以上でUbuntuに入ってるRStudioをMacから実行できます。