実行環境
・リモートマシン-Linux・ローカルマシン-Windows10
①ローカルマシンで秘密鍵、公開鍵を作成
ssh-keygen -t rsa -b [ビット長]
というコマンドで任意のビット長のRSA鍵のペアを作成する。前述コマンド入力後、任意のパスワードを入力して生成する。
※RSAよりもED25519の方が堅牢らしいのでそちらの方がよさそう
②リモートマシンに公開鍵を登録
./.ssh/id_rsa.pub
の内容をリモートマシンの.sshディレクトリ内のauthorized_keys
内に記述。
③ssh接続
ssh [リモートPCのユーザ名]@[リモートPCのIPアドレス]
をローカルPCのコマンドプロンプトから入力後、パスワードを入力するとssh接続が確立される。
④jupyter用パスワードの生成
以下のようにipythonを起動し、passwd()を利用して任意のパスワードをハッシュ化。
ipython
In [2]: from IPython.lib import passwd
In [3]: passwd()
⑤jupyter_notebook_config.pyの設定
./.jupyter/jupyter_notebook_config.py
にて以下の行のコメントアウトと設定変更する。
c.NotebookApp.allow_remote_access = True
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1:xxxx' ←生成したパスワード
c.NotebookApp.port = 9999
⑥リモートマシンのjupyterlab立ち上げ
ローカルマシンのコマンドプロンプトにて一度ssh接続をlogoutし、 以下のようにポートを指定して再度ssh接続する。ssh [リモートPCのユーザ名]@[リモートPCのIPアドレス] -L 9999:localhost:9999
その後ssh接続にてコマンドプロンプトからリモートマシンのjupyterlabを立ち上げる。
jupyter lab
⑦ローカルマシンでjupyterlab立ち上げ
ローカルマシンのブラウザにて以下のURLにアクセス。http://[ssh接続先のIPアドレス]:9999
するとパスワードの入力を求められるので、ハッシュ化前のパスワードを入力するとリモートのjupyterlabをローカルPCで操作できる。