LoginSignup
6
6

More than 3 years have passed since last update.

研究室サーバをSSH経由で自宅からjupyter

Last updated at Posted at 2019-08-27

概要

組織のネットワークを利用している場合は外部から接続できる方が珍しいですよね.
遠隔操作ツールは脆弱性が指摘されていたりするし,やっぱりsshしたいけど直接はできない状況はあると思います.

研究室サーバからデータは持ち出せないけど,外部でもいじりたい.
更にはjupyterなんかも使いたいし...そんなあなたへ.

研究室サーバをSSH経由で自宅からjupyterいじる

研究室サーバからさくらVPSへSSHポートフォワーディング

とりあえず研究室から研究室サーバへ接続して,さくらサーバへSSHポートフォワーディングしましょう.

  • jupyterで使用するポート番号(他ユーザとかぶらないように変更):8080

  • ssh -f -N -R

    • -f:バックグラウンド実行
    • -N:なにもコマンドを実行しない
    • -R:ややこしいがssh元(研究室サーバ)からのポートフォワードを受け流す設定.受信設定.
  • nohupコマンド

    • sshが途切れてもバックグラウンドでプロセスを立ち上げておくコマンド
    • いらなくなったらkillコマンドでプロセスを殺す
MyMacbook:~ username$ ssh user@mylabo_address

Last login: Mon Aug 26 14:55:14 2019 from mypc_address
[user@mylabo ~]$ ssh -f -N -R 8080:localhost:8080 user@sakura_address
[user@mylabo ~]$ nohup jupyter-lab --port 10080 >> ~/jupyter.log 2>&1 &
[user@mylabo ~]$ exit
ログアウト
Connection to mylabo_address closed.

自宅PCからさくらVPSへSSHポートフォワーディング

自宅からさくらサーバへSSHポートフォワーディングしましょう.

  • ssh -L
    • -L:-Rの逆で,ポートフォワードを送りつける設定.送信設定.
MyMacbook:~ username$ ssh -L 8080:localhost:8080 user@sakura_address

自宅からjupyterを使う

localhost:8080へアクセス

だけど研究室サーバからさくらVPSへSSHが切れたらダメじゃん!

全くそのとおりです.
このままだとネットワークの安定性が担保されず,「家に帰って使えない」ってことに実際なります.

これでは悲しいことになるのでSSHが途切れないように工夫しましょう!

研究室サーバからさくらVPSへ自動再接続SSHポートフォワーディング

切断されたsshの自動再接続をしてくれるツールでautosshというのがあります.
CUDAサーバにautosshを導入する or スクリプトを書いて再接続することをおすすめします.

  • autossh
    • -M:autosshで設定する番号.指定したポートにssh -N -L 50000:127.0.0.1:50000 -R 50000:127.0.0.1:50001を施す
    • 仕様上-Mオプションはやっておく必要があるので適当に
MyMacbook:~ username$ ssh user@mylabo_address

Last login: Mon Aug 26 14:55:14 2019 from mypc_address
[user@mylabo ~]$ autossh -f -N -M 50000 -R 8080:localhost:8080 user@sakura_address
[user@mylabo ~]$ nohup jupyter-lab --port 10080 >> ~/jupyter.log 2>&1 &
[user@mylabo ~]$ exit
ログアウト
Connection to mylabo_address closed.

これであなたも夢のどこでも研究ライフ!!

今回が初投稿でした

内容が微妙だったので一度削除し付け足しました

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6