ポート転送を使用してサーバーにログインする利点の1つは、Jupyter Notebookの使用が容易になることです。このリンクは、その方法の優れた説明を提供します。ここで、みなさんが参照できるように、要約と拡張を行います。
状況1. Host-Aという名前のローカルマシン(自分のラップトップなど)からHost-Bという名前のリモート作業マシンにログインします。
ssh user@Host-B -L port_A:localhost:port_B
jupyter notebook --NotebookApp.token='' --no-browser --port=port_B
次に、ブラウザーを開いてhttp:// localhost:port_A /と入力し、Host-Bで作業を行いますが、Host-Aで確認できます。
状況2. Host-Aという名前のローカルマシン(自分のラップトップなど)からHost-Bという名前のリモートログインマシンにログインし、そこからHost-Cという名前のリモート作業マシンにログインします。これは通常、大学内のほとんどの分析サーバーに当てはまり、にssh -L
接続された2台を使用することで実現できます-t
。
ssh -L port_A:localhost:port_B user@Host-B -t ssh -L port_B:localhost:port_C user@Host-C
jupyter notebook --NotebookApp.token='' --no-browser --port=port_C
次に、ブラウザーを開いてhttp:// localhost:port_A /と入力し、Host-Cで作業を行いますが、Host-Aで確認できます。
状況3. Host-A(例:自分のラップトップ)というローカルマシンからHost-Bというリモートログインマシンにログインし、そこからHost-Cというリモートワークマシンにログインし、最後にリモートワークマシンHost-にログインします。 D. これは通常は当てはまりませんが、いつか起こるかもしれません。これは状況2の拡張であり、同じロジックをより多くのマシンに適用できます。
ssh -L port_A:localhost:port_B user@Host-B -t ssh -L port_B:localhost:port_C user@Host-C -t ssh -L port_C:localhost:port_D user@Host-D
jupyter notebook --NotebookApp.token='' --no-browser --port=port_D
次に、ブラウザーを開いて次のように入力します。http:// localhost:port_A /、Host-Dで作業を行いますが、Host-Aで確認できます。
ここにリストされている一般的なポート番号を除いて、port_A、port_B、port_C、port_Dはランダムな番号にすることができます。状況1では、port_Aとport_Bを同じにして、手順を簡略化できます。