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 [オプション]
オプション
--fqdn<FQDN文字列>: サーバーの FQDN--non-interactive/-n: 非対話モード--config-file<コンフィグファイルパス>: JSON/YAML ファイルから設定を読み込み
使用例
# 対話モード(デフォルト)
iotsafe-client config init
# 非対話モード
iotsafe-client config init -n --fqdn "iotsafe.example.com"
# 設定ファイルから読み込み
iotsafe-client config init --config-file "config.json" -n
config set - 変数の値の変更¶
変数の値を変更します。
書式
iotsafe-client config set <キー名> <値>
パラメーター
キー名: キーの名前
値: キーに設定する値
使用例
iotsafe-client config set fqdn "iotsafe.example.com"
iotsafe-client config set vpn.auto_reconnect True
config get - 変数の値の取得¶
特定の変数の値を表示します。
書式
iotsafe-client config get <キー名>
パラメーター
キー名: キーの名前
使用例
iotsafe-client config get fqdn
config remove - 変数の削除¶
特定の変数を削除します。
書式
iotsafe-client config remove <キー名>
パラメーター
キー名: キーの名前
使用例
iotsafe-client config remove packages.auto_update
package - パッケージ管理¶
IoT SAFE関連パッケージのインストールと管理を行います。
package install - パッケージのインストール¶
IoT SAFE関連パッケージをインストールします。
書式
iotsafe-client package install [オプション] [<パッケージ名>]
オプション
--all: すべてのパッケージをインストール
パラメーター
パッケージ名: インストールするパッケージ名
使用例
# 全パッケージをインストール
iotsafe-client package install --all
# 特定のパッケージをインストール
iotsafe-client package install iotsafe-client
package update - パッケージの更新¶
IoT SAFEパッケージを更新します。
書式
iotsafe-client package update [オプション] [<パッケージ名>]
オプション
--all: すべてのパッケージをアップデート
パラメーター
パッケージ名: アップデートするパッケージ名
使用例
# 全パッケージを更新
iotsafe-client package update --all
# 特定のパッケージを更新
iotsafe-client package update iotsafe-client
package remove - パッケージの削除¶
特定のIoT SAFE関連パッケージを削除します。
書式
iotsafe-client package remove <パッケージ名>
パラメーター
パッケージ名: 削除するパッケージ名
使用例
# 特定のパッケージを削除
iotsafe-client package remove iotsafe-client
package info - パッケージ情報の表示¶
特定のIoT SAFE関連パッケージの情報を表示します。
書式
iotsafe-client package info <パッケージ名>
パラメーター
パッケージ名: インストールするパッケージ名
使用例
# 特定のパッケージを削除
iotsafe-client package info iotsafe-client
cert - 証明書管理¶
CA 証明書のダウンロードと管理を行います。
cert download-ca - CA 証明書のダウンロード¶
Applet ConsoleのCA証明書をダウンロードします。
書式
iotsafe-client cert download-ca [オプション]
オプション
--output/-o<出力ファイルパス>: 出力ファイルパス
使用例
# デフォルトの場所に保存
iotsafe-client cert download-ca
# 指定した場所に保存
iotsafe-client cert download-ca --output /path/to/ca.cert
cert show - 証明書情報の表示¶
CA 証明書や指定した証明書の情報を表示します。
書式
iotsafe-client cert show [<証明書ファイルパス>]
パラメーター
証明書ファイルパス: 内容を表示する証明書ファイルのパス(省略時: デフォルトCA証明書)
使用例
# デフォルトCA証明書を表示
iotsafe-client cert show
# 指定した証明書を表示
iotsafe-client cert show /path/to/cert.pem
cert verify - 証明書の検証¶
指定した証明書を検証します。
書式
iotsafe-client cert verify <証明書ファイルパス>
パラメーター
証明書ファイルパス: 内容を表示する証明書ファイルのパス
使用例
iotsafe-client cert verify /path/to/cert.pem
vpn - VPN 管理¶
VPN接続の設定と管理を行います。
vpn download-config - OpenVPN 設定のダウンロード¶
VPN 接続設定をダウンロードします。
書式
iotsafe-client vpn download-config [オプション]
オプション
--iccid<ICCID>: SIM カードの ICCID を手動で入力--auto: ICCID を自動検出
使用例
# ICCIDを指定してダウンロード
iotsafe-client vpn download-config --iccid "89XXXXXXXXXXXXX"
# 自動検出モード
iotsafe-client vpn download-config --auto
vpn logs - VPN ログの表示¶
VPN接続のログを表示します。
書式
iotsafe-client vpn logs [オプション]
オプション
-f: ログをリアルタイムで追跡-n<行数>: 表示する行数--since<文字列>: 指定時刻以降のログを表示(例: "1 hour ago", "2024-12-28 10:00:00")
使用例
# VPNログの表示
iotsafe-client vpn logs
# VPNログの表示(リアルタイム更新)
iotsafe-client vpn logs -f
# VPNログの表示(表示行数指定)
iotsafe-client vpn logs -n 20
# VPNログの表示(指定した時間まで遡ってログを表示)
iotsafe-client vpn logs --since "1 hour ago"
pkcs11 - PKCS#11 操作¶
PKCS#11 トークンの操作を行います。
pkcs11 list-slots - スロット一覧の表示¶
スロットの一覧を表示します。
書式
iotsafe-client pkcs11 list-slots [オプション]
オプション
--module/-m<モジュールパス>: PKCS#11 モジュール(省略時: libpkcs11_iotsafe.so)
使用例
iotsafe-client pkcs11 list-slots
iotsafe-client pkcs11 list-slots --module /path/to/module.so
pkcs11 list-objects - オブジェクト一覧の表示¶
オブジェクトの一覧を表示します。
書式
iotsafe-client pkcs11 list-objects [オプション]
オプション
--slot/-s<スロット番号>: スロット番号(省略時: 0)--module/-m<モジュールパス>: PKCS#11 モジュール(省略時: libpkcs11_iotsafe.so)
使用例
iotsafe-client pkcs11 list-objects
iotsafe-client pkcs11 list-objects --slot 1
pkcs11 read-object - オブジェクトの出力¶
指定したオブジェクトをファイル出力します。
書式
iotsafe-client pkcs11 read-object [オプション]
オプション
--label/-l<オブジェクトラベル>: オブジェクトラベル(必須)--type/-t<オブジェクトタイプ>: オブジェクトタイプ(必須、 cert / data / pubkey の何れか)--output/-o<出力ファイルパス>: 出力ファイル(省略時: 標準出力に出力)--slot/-s<スロット番号>: スロット番号(省略時: 0)--module/-m<モジュールパス>: PKCS#11 モジュール
使用例
# 公開鍵の読み取り
iotsafe-client pkcs11 read-object --label "my_key_PublicKey" --type pubkey --output pubkey.der
# CSRの読み取り
iotsafe-client pkcs11 read-object --label "my_key_CertificateSigningRequest" --type data --output csr.der
# クライアント証明書の読み取り
iotsafe-client pkcs11 read-object --label "my_cert" --type cert --output cert.der
# データオブジェクトの読み取り
iotsafe-client pkcs11 read-object --label "my_data" --type data --output data.bin
pkcs11 dump - トークン情報のダンプ¶
トークン情報を表示します。
書式
iotsafe-client pkcs11 dump [オプション]
オプション
--slot/-s<スロット番号>: スロット番号(省略時: 0)--module/-m<モジュールパス>: PKCS#11 モジュール(省略時: libpkcs11_iotsafe.so)
使用例
iotsafe-client pkcs11 dump
iotsafe-client pkcs11 dump --slot 1
pkcs11 info - モジュール情報の表示¶
PKCS#11関連カーネルモジュール情報を表示します。
書式
iotsafe-client pkcs11 info [オプション]
オプション
--module/-m<モジュールパス>: PKCS#11 モジュール(デフォルト: libpkcs11_iotsafe.so)
使用例
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 start
# 4. 必要に応じて、VPNの自動起動を設定
iotsafe-client vpn enable
# 5. 接続状態、自動起動設定を確認
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-client <コマンド>
# configコマンドで設定して実行
iotsafe-client config set API_ID 'your-id'
iotsafe-client config set API_SECRET 'your-secret'
iotsafe-client <コマンド>
注釈
Applet Consoleに表示されるインストールコマンドを使用時、 API_ID 、 API_SECRET の保存確認でYesを選択した場合、情報は設定ディレクトリに保存されます。 その場合、 iotsafe-client のオプション指定は不要です。
依存関係エラー¶
# 依存関係を確認
iotsafe-client system check-deps
# 不足している依存関係をインストール
iotsafe-client system install-deps