背景
ググってもこれといった記事がなかったので記事化しました。
某VPSサーバを契約しJupyterLabを使っています。
WindowsではWSLのSSHを利用してポートフォワーディングでブラウザ(localhost)からアクセスしていましたが、Chromebookを購入して同じことができないのかと、気になり、やってみました。
(ダイナミックフォワードではない方ですが、ダイナミックも多分できます)
方法
ステップ1:ChromeウェブストアからSecureShellを入れる
「Chromebook ssh」などでググると、crosh(Ctrl-Alt-t)を押してからsshと入力せよ、などの記事が散見されますが、できませんでした。
結果から言うと、Chromeの拡張機能を入れてやるようです。
https://chromium.googlesource.com/apps/libapps/+/HEAD/nassh/README.md
上記サイトのInstallからChromeウェブストアに飛んでインストールしてください。
ステップ2:SSH接続(確認)
インストールしたら、Google Chrome右上の拡張機能ボタンから、Secure Shellを押します。(ピン止めすると便利です)
接続ダイアログを押すと次の画面になります。
(インストール直後は勝手に次の画面になるのかも・・)
自由形式のテキストはUI上での表示名なので、なんでもいいです。
ユーザ名、ホスト名は、コマンドでSSHするときのuser@hostをそれぞれ入力します。
ポートを変えている人はSSH引数のところから-p 22などとします。
[ENTER]接続のボタンから接続し、パスワード入力して接続できることを確認します。
(秘密鍵認証はIDのところで指定すればできるっぽいです。クライアントの公開鍵をサーバに登録するタイプの認証は、開発者にならないとできない模様)
ステップ3:ポートフォワーディングの設定を入れる
SSH引数のところに、-L 8888:localhost:8888などと追加して、[ENTER]接続を押します。
次にChromeでlocalhost:8888を指定して、JupyterLabに接続できれば完了です。
この-Lオプションは、リモートのポート8888を、localhostのポート8888に対応付けてくれ。具体的にはリンクを張るイメージで、localhost:8888にアクセスしたらリモートの8888の内容を表示してくれ、という意味です。
私は、Windows環境では、sshコマンドに-N -fなどとオプションをつけていましたが、ここでつけるとエラーになる模様です。
結び
いかがでしょうか?(クソサイト風)
基本JupyterLab上でしかコーディングしない&JupyterLabをインターネットにさらす度胸がない非開発者なので、開発者モード使わない縛りでChromeOSからSSHポートフォワーディングしてみました。
Chromebook関連の記事は3年以上前だと古くて使えないことが多々あるので、ちょっとあれですね・・・
(まあ大方croshとかいうイケてない機能制限ターミナルが進化してくれればいいだけの話ではあります。)



