IoT SAFE Client コマンドリファレンス¶
概要¶
IoT SAFE Client は、Raspberry Pi OS / Ubuntu / Debian 向けの IoT SAFE アプリケーション管理ツールです。
サポート環境¶
本ツールは、以下の環境をサポートしています。
- アーキテクチャ
arm64
amd64 (x86_64)
- ディストリビューション
Raspberry Pi OS
Ubuntu
Debian
グローバルオプション¶
すべてのコマンドで使用可能なオプションです。
オプション |
説明 |
環境変数※ |
---|---|---|
|
Applet Consoleで払い出されたAPI ID |
|
|
Applet Consoleで払い出されたAPI シークレット |
|
|
設定ファイルのパス |
- |
|
詳細出力 |
- |
|
最小限の出力 |
- |
|
バージョン表示 |
- |
|
ヘルプ表示 |
- |
注釈
※オプションを使用せず、環境変数で設定することも可能です。
コマンド¶
config - 設定管理¶
初期設定と管理を行います。
変数名 |
説明 |
デフォルト値 |
設定可能な値 |
備考 |
---|---|---|---|---|
architecture |
ターゲットアーキテクチャ |
auto |
auto
x86_64
aarch64
|
|
fqdn |
FQDN(完全修飾ドメイン名) |
{APIのベースURLに使用するFQDN} ※インストール時に自動反映されます |
有効なドメイン名形式の文字列 |
バリデーション: RFC 準拠のドメイン名形式である必要があります
機能: API のベース URL 構築に使用されます (https://{fqdn}/v1)
|
packages.keep_downloads |
ダウンロードしたパッケージファイルの保持 |
False |
True
False
|
|
pkcs11.default_slot |
デフォルトの PKCS11 スロット番号 |
0 |
0 以上の整数 |
バリデーション: 値は 0 以上である必要があります |
pkcs11.module |
PKCS11 モジュールライブラリ名称 |
libpkcs11_iotsafe.so |
.so、.dll、.dylibのいずれかで終わるライブラリファイル名 |
バリデーション: 適切なライブラリファイル拡張子で終わる必要があります |
vpn.auto_reconnect |
VPN の自動再接続 |
True |
True
False
|
config init - 初期設定¶
初期設定を行います。
注釈
install.sh から実行した場合は初期化は不要です。
# 対話モード(デフォルト)
iotsafe-client config init
# 非対話モード
iotsafe-client config init -n --fqdn="iotsafe.example.com"
# 設定ファイルから読み込み
iotsafe-client config init --config-file="config.json" -n
オプション
--fqdn <FQDN>
: サーバーの FQDN--non-interactive
/-n
: 非対話モード--config-file <PATH>
: JSON/YAML ファイルから設定を読み込み
config set - 変数の値の変更¶
変数の値を変更します。
iotsafe-client config set fqdn "iotsafe.example.com"
iotsafe-client config set vpn.auto_reconnect True
package - パッケージ管理¶
IoT SAFE関連パッケージのインストールと管理を行います。
package install - パッケージのインストール¶
IoT SAFE関連パッケージをインストールします。
# 全パッケージをインストール
iotsafe-client package install --all
# 特定のパッケージをインストール
iotsafe-client package install <package_name>
オプション
--all
: すべてのパッケージをインストール
package update - パッケージの更新¶
IoT SAFEパッケージを更新します。
# 全パッケージを更新
iotsafe-client package update --all
# 特定のパッケージを更新
iotsafe-client package update <package_name>
cert - 証明書管理¶
CA 証明書のダウンロードと管理を行います。
cert download-ca - CA 証明書のダウンロード¶
Applet ConsoleのCA証明書をダウンロードします。
# デフォルトの場所に保存
iotsafe-client cert download-ca
# 指定した場所に保存
iotsafe-client cert download-ca --output /path/to/ca.cert
オプション
--output
/-o
: 出力ファイルパス
cert show - 証明書情報の表示¶
CA 証明書や指定した証明書の情報を表示します。
# デフォルトCA証明書を表示
iotsafe-client cert show
# 指定した証明書を表示
iotsafe-client cert show /path/to/cert.pem
vpn - VPN 管理¶
OpenVPNによるVPN接続の設定と管理を行います。
vpn download-config - OpenVPN 設定のダウンロード¶
OpenVPN 接続設定をダウンロードします。
# ICCIDを指定してダウンロード
iotsafe-client vpn download-config --iccid="89XXXXXXXXXXXXX"
# 自動検出モード
iotsafe-client vpn download-config --auto
オプション
--iccid <ICCID>
: SIM カードの ICCID を手動で入力--auto
: ICCID を自動検出
vpn connect - VPN 接続¶
VPN接続を確立します。
# デフォルト設定で接続
iotsafe-client vpn connect
# 設定ファイルを指定して接続
iotsafe-client vpn connect --config /path/to/config.ovpn
# バックグラウンドで接続
iotsafe-client vpn connect --daemon
オプション
--config
/-c
: OpenVPN 設定ファイル--daemon
: バックグラウンドで実行
pkcs11 - PKCS#11 操作¶
PKCS#11 トークンの操作を行います。
pkcs11 list-slots - スロット一覧の表示¶
スロットの一覧を表示します。
iotsafe-client pkcs11 list-slots
iotsafe-client pkcs11 list-slots --module /path/to/module.so
オプション
--module
/-m
: PKCS#11 モジュール(デフォルト: libpkcs11_iotsafe.so)
pkcs11 list-objects - オブジェクト一覧の表示¶
オブジェクトの一覧を表示します。
iotsafe-client pkcs11 list-objects
iotsafe-client pkcs11 list-objects --slot 1
オプション
--slot
/-s
: スロットインデックス(デフォルト: 0)--module
/-m
: PKCS#11 モジュール
pkcs11 read-object - オブジェクトの出力¶
指定したオブジェクトをファイル出力します。
# クライアント証明書の読み取り
iotsafe-client pkcs11 read-object --label "my_key" --type cert --output cert.der
# CSRの読み取り
iotsafe-client pkcs11 read-object --label "my_key_CertificateSigningRequest" --type data --output csr.der
# データオブジェクトの読み取り
iotsafe-client pkcs11 read-object --label "my_data" --type data --output data.bin
オプション
--label
/-l
: オブジェクトラベル(必須)--type
/-t
: オブジェクトタイプ(必須、 cert / data の何れか)--output
/-o
: 出力ファイル(必須)--slot
/-s
: スロットインデックス(デフォルト: 0)--module
/-m
: PKCS#11 モジュール
pkcs11 dump - トークン情報のダンプ¶
トークン情報を表示します。
iotsafe-client pkcs11 dump
iotsafe-client pkcs11 dump --slot 1
オプション
--slot
/-s
: スロットインデックス(デフォルト: 0)--module
/-m
: PKCS#11 モジュール
pkcs11 info - モジュール情報の表示¶
PKCS#11関連カーネルモジュール情報を表示します。
iotsafe-client pkcs11 info
iotsafe-client pkcs11 info --module /path/to/module.so
使用例¶
初期セットアップ¶
# 1. 設定を初期化
iotsafe-client config init
# 2. 依存関係をインストール
iotsafe-client system install-deps
# 3. パッケージをインストール
iotsafe-client package install --all
# 4. CA証明書をダウンロード
iotsafe-client cert download-ca
VPN 接続のセットアップ¶
# 1. ICCIDを確認
iotsafe-client vpn get-iccid
# 2. VPN設定をダウンロード
iotsafe-client vpn download-config --auto
# 3. VPN接続
iotsafe-client vpn connect --daemon
# 4. 接続状態を確認
iotsafe-client vpn status
トラブルシューティング¶
API 認証エラー¶
# 設定を確認
iotsafe-client config list
# 以下、何れか方法でクレデンシャル情報を設定し、コマンドを実行
# オプションを指定して実行
iotsafe-client --api-id="your-api-id" --api-secret="your-api-secret" <コマンド>
# 環境変数を設定後、実行
export API_ID="your-api-id"
export API_SECRET="your-api-secret"
iotsafe-cliet <コマンド>
# api_id、api_secretファイルを作成し、実行
# 通常、これらのファイルは、インストール時自動作成されます
ls -l ~/.iotsafe/api_id
echo "your-api-id" > ~/.iotsafe/api_id
chmod 600 ~/.iotsafe/api_id
ls -l ~/.iotsafe/api_secret
echo "your-api-secret" > ~/.iotsafe/api_secret
chmod 600 ~/.iotsafe/api_secret
iotsafe-client <コマンド>
注釈
Applet Consoleに表示されるインストールコマンドを使用した場合、 API_ID 、 API_SECRET 情報は設定ディレクトリに設定されます。 よって、通常は、 iotsafe-client のオプション指定は不要です。
依存関係エラー¶
# 依存関係を確認
iotsafe-client system check-deps
# 不足している依存関係をインストール
iotsafe-client system install-deps