admin ユーザーが Dashboard > Users でユーザーに対して SSH 接続を許可した場合のみご利用可能です。現在 experimental 版としてのご提供しています。無償のオープンソースソフトウェアで、コマンドラインからWebsocket 接続を可能にする websocat を利用します。
目次
- Matlantis の設定
- Client の設定
- VSCode の設定 (オプショナル)
- WinSCPの設定(オプショナル、Windowsのみ)
- Dashboard > Users の SSH Connection 設定方法
更新履歴
- URLをクリックするとファイルがダウンロードされるようになりました。(2025/4/1)
- ユーザー単位での許可ではなくテナント単位での許可が可能になりました。(2025/4/2)
- websocat 実行ファイルが自動でダウンロードされるように ssh_matlantis.bat を更新しました。(2025/4/14)
- 弊社にご依頼いただかなくても、admin ユーザーが設定することでSSH接続を許可できるようになりました。(2025/9/10)
-----
Matlantis の設定
/tmp/sshd.pid や ~/.ssh/environment が存在していれば SSH接続設定が可能な環境です。
(もし存在しない場合は、Matlantis を再起動してください)
例)/home/jovyan で以下のように実行し、sshd.pid が存在するかを確認します。
ls /tmp
Client の設定
Windows と Mac/Linux で異なります。お使いのOSに合わせてご確認ください。
Windows の場合
1. SSHの動作確認と秘密鍵と公開鍵の生成
-
PowerShell で ssh.exe が使えるか確認します。
一旦、$HOME に移動してから、バージョンを確認してみます。バージョンが表示されればOKです。cd $HOME ssh.exe -V
-
ssh-keygen で秘密鍵と公開鍵を生成します。
例:rsa方式(デフォルト)、4096bit の場合(VSCode利用の場合パスフレーズなし推奨)ssh-keygen.exe -t rsa -b 4096
2. 公開鍵のアップロード
C:\Users\[USERNAME]\.ssh の中に生成された id_rsa.pub を Matlantis の /home/jovyan/.ssh/ ディレクトリに authorized_keys として保存します。保存後はMatlantisの再起動が必要です。
例)Matlantisのターミナルで以下のように実行すると、/home/jovyan に置いた id_rsa.pub を /home/jovyan/.ssh/ に authorized_keys として保存できます。
cat /home/jovyan/id_rsa.pub >> home/jovyan/.ssh/authorized_keys
このあと、/home/jovyan に残る id_rsa.pub は削除して構いません
rm /home/jovyan/id_rsa.pub
3. batファイルの準備
Windows上でコマンドを実行するためのスクリプトであるbatファイルを用意します。
以下のURLをクリックすると、ssh_matlantis.bat が入手できるので、例えば、C:\Users\[USERNAME]\MyScripts フォルダを作成し保存してください(ファイル名、格納場所は任意です)。
https://redirect.matlantis.com/api/me/ssh?script_type=bat
※ ブラウザなどのご利用環境によっては、ダウンロード時に「危険なファイルではないか」「信頼できるか」などの警告メッセージが表示され、そのままではダウンロードできない場合があります。その際はセキュリティチェックを外してダウンロードするなどのご対応をお願いします。(ダウンロードができない場合は以下の内容を参考に手動でファイルを作成してください)
ssh_matlantis.bat は以下の内容です。
- 黄色ハイライト部分 は環境依存ですのでご確認ください。
- websocat ファイルの存在を確認しています。
- 存在しない場合、 websocat (https://github.com/vi/websocat) を ssh_matlantis.bat ファイルを格納したフォルダ内に自動でダウンロードします。
-
<tenat name>, <matlantis_user_id>, <notebook_pre_shared_key> はユーザー固有の情報です(上記のURLをクリックして入手した場合、ご自身の情報が取得され入力されています)。
@echo off setlocal enabledelayedexpansion set MATLANTIS_USER_ID=<matlantis_user_id> set NOTEBOOK_PRE_SHARED_KEY=<notebook_pre_shared_key> set MATLANTIS_DOMAIN=<tenant_name>.matlantis.com cd /d %~dp0 set BIN_NAME=websocat.x86_64-pc-windows-gnu.exe set BIN_URL=https://github.com/vi/websocat/releases/latest/download/%BIN_NAME% set WEBSOCAT_PATH=C:\Program Files\Websocat\%BIN_NAME% where %BIN_NAME% >nul 2>&1 if %errorlevel% equ 0 ( set WEBSOCAT=%BIN_NAME% ) else ( if exist "%WEBSOCAT_PATH%" ( set WEBSOCAT="%WEBSOCAT_PATH%" ) else ( curl -s -L -o %BIN_NAME% %BIN_URL% set WEBSOCAT=%BIN_NAME% ) ) %WEBSOCAT% --binary -H="cookie: matlantis-notebook-pre-shared-key=%NOTEBOOK_PRE_SHARED_KEY%" wss://%MATLANTIS_DOMAIN%/nb/%MATLANTIS_USER_ID%/default/api/ssh-over-ws
4. .ssh/configの作成と保存
C:\Users\[USERNAME]\.ssh内のconfigファイル(存在しない場合は作成)に、以下のような内容を追記します。全て絶対パスで指定してください。
# SSH configuration for connecting directly to Matlantis
Host matlantis
ProxyCommand C:\Users\[USERNAME]\MyScripts\ssh_matlantis.bat
User jovyan
IdentityFile C:\Users\[USERNAME]\.ssh\id_rsa
# Note: For Windows, use an absolute path like C:\Users\[USER NAME]\.ssh\id_rsa
5. Matlantisの起動
未ログイン状態の場合、ブラウザで Matlantisにログインしてください。
6. SSH接続の確認
ssh matlantis で接続できます。うまくいかない場合、トラブルシューティングを確認してください。
ssh matlantis
トラブルシューティング
Matlantis へのSSH接続に失敗する場合、以下の項目をご確認ください。
- 3. で作成した bat ファイルが実行可能か
-
4. で作成した config ファイルの設定
- ファイルパスの間違いがないか
- 実行権限があるか
- Matlantisの再起動(2. の公開鍵アップロード後はMatlantisの再起動が必要です※)
- ※Permission denied (publickey)エラーが表示されます
- Matlantis が起動していない場合「302 ERROR」となります。Matlantisを起動してからお試しください。
- ssh_matlantis.bat ファイルの格納フォルダに websocat 実行ファイルが存在しない場合、何らかの理由で自動でのダウンロードに失敗していると考えられます。こちらの方法で手動でダウンロードしてください。
Websocat を手動で入手する方法
- インストーラーのダウンロード
Websocat のページ中ほどにある pre-built executables を使います。
64bit 版 Windowsの場合、websocat.x86_64-pc-windows-gnu.exe をダウンロードします。- ご利用のシステムによって適切なexeファイル名が異なります。
- ダウンロード時に「危険なファイルではないか?」などのチェックが入ることがあるのでその際はセキュリティチェックを一旦外してダウンロードする等の対応が必要です。
- 実行ファイルを格納
ファイルは C:\Program Files\Websocat のフォルダを作成し、1でダウンロードした実行ファイル(.exe)をそこに格納します(ファイルの場所はコマンドが実行できれば任意です。コマンドの実行にはWindowsのPath環境変数が必要です。)
- 動作確認
PowerShell で確認します。 格納した場所で websocat が以下のように実行できれば準備完了です。-
バージョン確認:バージョンが返ってきます
PowerShellで入力.\websocat.x86_64-pc-windows-gnu.exe --version
(実際の画面)
-
接続テスト:Websocket 通信のテストサーバー(エコーサービスを提供)へ接続(Matlantisと入力して、「Matlantis」と返ってきたらOKです)
PowerShellで入力.\websocat.x86_64-pc-windows-gnu.exe wss://echo.websocket.events
(実際の画面)
-
Mac (Linux) の場合
Mac の場合で説明しますが、Linuxも同様の方法で設定可能です。
-
websocat をインストールします
brew install websocat
-
ssh-keygen で秘密鍵と公開鍵を生成します。
例:rsa方式(デフォルト)、4096bit の場合(VSCode利用の場合パスフレーズなし推奨)ssh-keygen -t rsa -b 4096
- 公開鍵をMatlantisにアップロードします。
公開鍵はお使いのデバイスの ~/.ssh/id_rsa.pub にあります。Matlantis には /home/jovyan/.ssh/authorized_keys としてアップロードします。
- /home/[USERNAME]/ssh_matlantis.sh ファイルを以下の内容で保存します。
下記のURLにアクセスすると ssh_matlantis.sh ファイルがダウンロードされます。https://redirect.matlantis.com/api/me/ssh
- [USERNAME]はMacのユーザー名です。
-
<matlantis_user_id>, <notebook_pre_shared_key>, <tenat name> はユーザー固有の情報です。
#! /bin/bash set -e MATLANTIS_USER_ID=<matlantis_user_id> NOTEBOOK_PRE_SHARED_KEY=<notebook_pre_shared_key> MATLANTIS_DOMAIN=<tenant_name>.matlantis.com cd $(dirname $0) if ! command -v websocat &> /dev/null; then # error if no websocat in the same directory if [ ! -f ./websocat ]; then echo "websocat not found, please download and save it to $PATH or in the same directory as this script" exit 1 fi WEBSOCAT=./websocat else WEBSOCAT=websocat fi $WEBSOCAT --binary -H="cookie: matlantis-notebook-pre-shared-key=${NOTEBOOK_PRE_SHARED_KEY}" wss://${MATLANTIS_DOMAIN}/nb/${MATLANTIS_USER_ID}/default/api/ssh-over-ws
-
chmod +x で 4. で作成したファイルを実行可能にします。
chmod +x ssh_matlantis.sh
- ~/.ssh/config を作成します。
-
[USERNAME]はMacのユーザー名です。
# Clientから直接matlantisに接続する場合 Host matlantis ProxyCommand /Users/[USERNAME]/ssh_matlantis.sh User jovyan IdentityFile ~/.ssh/id_rsa # `server` を踏み台として利用して踏み台上でbashコマンドを実行する場合 Host matlantis ProxyCommand ssh server -T /Users/[USERNAME]/ssh_matlantis.sh User jovyan IdentityFile ~/.ssh/id_rsa
-
-
ssh matlantis で接続できます。接続できない場合はトラブルシューティングをご確認ください。
ssh matlantis
※ scp で ファイルコピーなども可能です。
VSCode の設定
- 拡張機能 で SSH と検索して、Remote-SSH をインストールします。
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh
- リモートエクスプローラーから SSH > matlantis に接続します。
- その他、Jupyter Kernels, Python Environments など適宜必要な拡張機能もインストールしてください。
WinSCPの設定(Windowsのみ)
WinSCPの設定方法を紹介します。
- 新しいサイト> ホスト名:matlantis, ユーザー名:jovyan を設定します
- 設定 >プロキシ
- プロキシ形式:ローカル
-
プロキシ設定:ローカルプロキシコマンド
「参照」ボタンから、ssh_matlantis.bat を指定しますC:\Users\[USERNAME]\MyScripts\ssh_matlantis.bat
- 設定 > 認証
- 「...」から秘密鍵 id_rsa ファイルを指定します。
- OKでPutty形式に変換
- ppkファイルを設定した画面は以下の通りです。OKボタンで高度なサイトの設定画面を閉じます。
- 「...」から秘密鍵 id_rsa ファイルを指定します。
- セッションに名前をつけて保存します。
- 保存したセッション名を選択して「ログイン」で接続します。
Dashboard > Users のS SH Connection 設定方法
admin ユーザーのみ操作可能です。
Dashboard > Users にて特定のユーザーを選択し、User Infomation 画面で SSH Connection を有効にして 「Update」をクリックし、更新してください。
- SSH Connection の有効 / 無効の設定をするには そのユーザーがMatlantis を停止している必要があります。
- 設定変更後 Matlantis を起動すると設定が適用されます。