慶應JupyterHubにVSCodeで接続しよう

これはKCS AdventCalendar2021 22日目の記事です。

← 21日目 | 23日目→

おはようございます。RTX 3080 をアメリカの通販で格安で購入しようとしたところ、店舗受け取りでしか受け取れないことが購入直前に発覚し男泣きした Tlapesium(完全無欠天才美少女) です。

今回は RTX 2080 Ti が搭載されているマシンを無料で無制限[要出典]にぶん回すことができる「慶應 Jupyter Hub」をさらに快適に使うための方法について紹介したいと思います。

VSCodeで接続する

慶應 Jupyter Hub では Web 上で Jupyter Notebook を実行することができますが、規模の大きいプログラムを書くには少々不便です。(あと個人的に Jupyter Notebook を使うのがあまり慣れていない)

そこで、SSH を用いて VSCode をリモート接続させることで快適なプログラミング環境を用意しましょう。

まず、パスワード認証ではフォルダを開くたびにいちいちパスワードの入力を求められてウザいので、公開鍵認証に変更します。

</p>
$ ssh-keygen # 鍵のペアを作る
$ scp -P 2221 ~/.ssh/id_rsa.pub [ユーザ名]@[ゲートウェイサーバ].ai.hc.keio.ac.jp:~/.ssh/authorized_keys # ゲートウェイサーバに鍵を置く
$ ssh -p 2221 [ユーザ名]@[ゲートウェイサーバ].ai.hc.keio.ac.jp
$ scp ~/.ssh/authorized_keys ubuntu@jupyterhub-singleuser-instance-[ユーザ名].lxd:~/.ssh/authorized_keys # インスタンスに鍵を置く
<p>

このとき、ゲートウェイサーバにも公開鍵を置いておく必要があることに注意してください。また、ゲートウェイサーバ間でデータは共有されないので、自分が使うゲートウェイサーバを一つに決める必要があります。

次に VSCode で SSH 接続をするために .ssh/config を編集します。

</p>
Host gateway
  HostName [ゲートウェイサーバ].ai.hc.keio.ac.jp
  Port 2221
  User [ユーザ名]
  IdentityFile ~/.ssh/id_rsa
  ForwardAgent yes

Host jupyter
  HostName jupyterhub-singleuser-instance-[ユーザ名].lxd
  Port 22
  User ubuntu
  ProxyCommand ssh -W %h:%p gateway
<p>

最後に、VSCode に Remote – SSH 拡張機能をインストールすれば、VSCode で 慶應 Jupyter Hub に接続が可能になります。

Posted on: 2021年12月22日, by : Tlapesium
Exit mobile version