vast.aiのインスタンスにsshで接続する

 

公式の解説はこちら

https://docs.vast.ai/instances/sshscp

 

まずはssh keyの登録(公開鍵)

 

アカウントを選択して

SSH Keysをクリック

 

入力したら自動的に保存される。

 

もしすでにインスタンスが起動中であれば、一度停止して再度起動します。

 

接続先

インスタンスを起動したらここをクリック

接続方法が出てくるのでコピーしておく。

ターミナルで実行すると繋がりました。

 

ちなみに、Open Jupyter terminalを押すとブラウザ経由でJupyterが扱えるみたい

 

vscodeでssh接続してファイルを扱えるようにする

下記をクリック

ホストに接続するをクリック

新規SSHホストを追加する

sshコマンドを貼り付け

繋がりました。

 

次に、ディレクトリの共有もしたいので

フォルダを開くをクリック

 

開きたいパスのところを入力します。今回はリモートにある/workspaceです。

信頼する。

 

ディレクトリも共有されました。

 

ポートフォワーディングしてlocalhostからアクセスできるようにする

 

ssh -p 30829 root@58.224.7.136 -L 8080:localhost:8080

 

こちらの-L 11434:localhost:11434でポートフォワーディングがされています。

こちらをインスタンスのポートと対応付ければlocalhost経由で接続できるようになります。

これらを同じように対応付ける感じです。

各ポートが何を表しているかは、WebUiから確認できました。

 

設定は以下でします。

再度ホストに接続するをクリックします。

 

ホストを構成するをクリック

以下のようにポートフォワーディングの設定を追加します。

Host 58.224.7.136
  HostName 58.224.7.136
  Port 30829
  User root
  LocalForward 8080 localhost:8080
  LocalForward 11434 localhost:11434
  LocalForward 7500 localhost:7500

postmanで動作確認するとうまくいくことが確認できました。

 webuiの方も接続できることを確認

 

おまけ

それ以外にも、データ保存のためにCloud Connectionを使ったり、インスタンス起動時に環境変数をインジェクトしてくれるEnvironment Variablesは触っておいて損ないと思います。