GPU計算用に買ったWindowsマシンに、いつも使っているMacからリモートでJupyter Notebookを利用できるように設定をしたのでその覚え書きです。
設定方法についてはすでにたくさんの記事が書かれていますが、今はもっと簡単にできるようになっています。
前提条件
-
- ローカルのネットワーク内で利用
-
- サーバのOSはWindows 10
- ユーザーは1人
複数ユーザーの場合はJupyterHubを使うようにとドキュメントに書かれています。
Running a notebook server — Jupyter Notebook 5.7.8 documentation
サーバ側の作業
1. パスワードの設定
jupyter notebook passwordを実行するとパスワードを聞かれるので、設定したいパスワードを入力します。
> jupyter notebook password
Enter password:
Verify password:
[NotebookPasswordApp] Wrote hashed password to C:\Users\masahiro\.jupyter\jupyter_notebook_config.json
パスワードを入力すると、パスワードから生成されたハッシュ値が自動的にファイルに保存されます。
{
"NotebookApp": {
"password": "sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed"
}
}
Automatic Password setup — Jupyter Notebook 5.7.8 documentation
2. ファイアウォールの設定
Jupyter Notebookが使うポートの通信を許可する設定を行います。
デフォルトでは8888ポートを使うようになっているので、下のページの手順にしたがって8888ポートの通信を許可します。
Windows10で特定のポートを開放する – Born Digital サポート
3. Jupyter Notebookの起動
Jupyter Notebookを外部から接続できるように–ipオプションで接続元のIPアドレスを指定して起動します。–ip=*とするとどこからでも接続できるようになります。
サーバ側ではブラウザを開く必要がないので–no-browserオプションをつけて起動します。
> jupyter notebook --ip=* --no-browser
クライアント側の作業
ブラウザを起動して、下のURLにアクセスします。
http://[IPアドレス]:8888
MacからWindowsに接続する場合はホスト名+.localで指定することもできます。
http://[ホスト名].local:8888
接続するとパスワードを聞かれるので、設定したパスワードを入力します。