- Jelina 概要
- JelinaCloud
- デバイス管理
SSH 鍵と証明書による認証
鍵/証明書の生成 → デバイスの設定 → クラウドへのアップロード → 接続検証の 4 ステップで設定します。
準備:デバイスがアクティベート済みで Online 状態にあり、OpenSSH Server が動作していること。フリートの Master / Admin が HTTPS 経由で JelinaCloud を設定します。
手順 1:SSH 鍵/OpenSSH ユーザー証明書の生成
Section titled “手順 1:SSH 鍵/OpenSSH ユーザー証明書の生成”通常の鍵ログインにはユーザー鍵の生成のみが必要です。証明書ログインでは、先にユーザー鍵を生成し、その後ユーザー証明書を発行します。
PC に JelinaSSH などの空フォルダーを新規作成して開き、OS に応じてターミナルを起動し、次のコマンドを実行します。
フォルダーのアドレスバーに powershell と入力して Enter キーを押し、次を実行します。
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"コマンドが見つからない場合は、Windows の「オプション機能」から「OpenSSH クライアント」をインストールし、PowerShell を開き直してください。
フォルダー内の空白部分を右クリックして「ターミナルで開く」を選び、次を実行します。
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"コマンドが見つからない場合は、OpenSSH クライアントをインストールしてください。Ubuntu / Debian は openssh-client、Fedora / RHEL は openssh-clients です。
Enter passphrase で秘密鍵のパスフレーズを設定し、Enter same passphrase again でもう一度入力します。入力文字は表示されません。パスフレーズを設定しない場合は、どちらも Enter キーのみを押します。Overwrite (y/n)? と表示された場合は n を入力し、既存ファイルを保持してください。
完了すると、現在のフォルダーに次のファイルが生成されます。
| ファイル | 用途と配置先 |
|---|---|
jelina_operator(拡張子なし) |
ログイン用のユーザー秘密鍵。クラウドの秘密鍵欄へアップロードします |
jelina_operator.pub |
ユーザー公開鍵。通常の鍵ログインでは内容をデバイスへ追加し、証明書ログインでは CA に渡して発行を依頼します |
デバイスが RSA 鍵を必要とする場合
Windows / Linux 共通で、次のコマンドを使用してください。
ssh-keygen -t rsa -b 3072 -a 64 -f jelina_operator_rsa -C "JelinaCloud-operator"jelina_operator_rsa と jelina_operator_rsa.pub が生成されます。以降の手順でも、これらのファイル名を使用してください。
jelina_operator.pub を既存 CA の管理者に渡し、証明書の発行を依頼します。自分で発行する場合は、管理用 PC の現在のフォルダーにこの公開鍵を準備し、次のコマンドを順に実行します。
- CA 鍵を生成し、画面の指示に従ってパスフレーズを設定・確認します。既存の CA がある場合は省略し、以降は実際の CA ファイルを使用してください。
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- ユーザー証明書を発行します。要求に応じて CA 秘密鍵のパスフレーズを入力します。
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pub- CA 鍵を生成し、画面の指示に従ってパスフレーズを設定・確認します。既存の CA がある場合は省略し、以降は実際の CA ファイルを使用してください。
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- ユーザー証明書を発行します。要求に応じて CA 秘密鍵のパスフレーズを入力します。
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pubSigned user key と表示されれば完了です。関連ファイルは次のとおりです。
| ファイル | 用途と配置先 |
|---|---|
ca_ed25519 |
発行用の CA 秘密鍵。発行元のみが保管し、クラウドやデバイスへアップロードしません |
ca_ed25519.pub |
デバイスが CA を信頼するための CA 公開鍵。手順 2 に従って内容を追加します |
jelina_operator-cert.pub |
ユーザー証明書。ユーザー秘密鍵とともにクラウドへアップロードします |
この例のプリンシパルは ops-alice で、証明書は発行から 8 時間後に期限切れになります。-V "-1m:+8h" は -V "-1m:+7d" などの有限の期間に変更できます。シリアル番号 -z 1 は発行元が割り当てて記録します。証明書の内容を確認するには、次を実行します。
ssh-keygen -L -f jelina_operator-cert.pub手順 2:デバイスの設定
Section titled “手順 2:デバイスの設定”JelinaOS(Linux)デバイス上で、実際にログインするアカウントの authorized_keys を編集します。この例では operator を使用します。デバイスに存在するアカウントに置き換えてください。
| ログインアカウント | 認可ファイルの場所 |
|---|---|
operator、ホームディレクトリが /home/operator |
/home/operator/.ssh/authorized_keys |
root |
/root/.ssh/authorized_keys |
ファイルがなければ作成します。.ssh ディレクトリの権限は 700、ファイルは 600、所有者は対象アカウントに設定します。既存の内容を保持し、末尾の新しい行に認可設定を追加してください。証明書ファイルをデバイスにコピーする必要はありません。
PC 上の jelina_operator.pub をテキストエディターで開き、行全体をコピーして、上記の認可ファイルの末尾に貼り付けます。
ssh-ed25519 <ユーザー公開鍵Base64> JelinaCloud-operatorプレースホルダーではなく、実際のファイル内容を使用してください。RSA 公開鍵は ssh-rsa で始まります。同様に行全体をコピーします。
ca_ed25519.pub をテキストエディターで開き、行全体をコピーします。認可ファイルの末尾に次のプレフィックスを入力し、空白を 1 つ入れて CA 公開鍵を貼り付けます。
cert-authority,principals="ops-alice",no-agent-forwarding最終的に、次の内容が同じ 1 行になるようにします。
cert-authority,principals="ops-alice",no-agent-forwarding ssh-ed25519 <CA公開鍵Base64> JelinaCloud-customer-CAプレースホルダーを実際の CA 公開鍵に置き換えてください。ops-alice は発行時の -n と一致させます。デバイスに追加するのは CA 公開鍵と認可プレフィックスです。ユーザー証明書とユーザー秘密鍵は、次の手順でクラウドへアップロードします。
Windows では公開鍵ファイルを右クリックし、「プログラムから開く → メモ帳」を選択できます。authorized_keys の変更のみであれば、通常 SSH の再起動は不要です。認可パスをカスタマイズしている場合は、デバイスの設定に従ってください。
手順 3:JelinaCloud の設定と認証情報のアップロード
Section titled “手順 3:JelinaCloud の設定と認証情報のアップロード”認証情報のアップロード
Section titled “認証情報のアップロード”- フリートの「リモートアクセス管理 → 鍵管理」、またはデバイスの「リモートアクセス管理」を開き、「SSH 認証情報を追加」をクリックします。
- 名前とデバイスのシステムアカウント(
operatorやrootなど)を入力し、認証方式を選択してファイルをアップロードします。
| 認証方式 | アップロードする内容 |
|---|---|
| SSH 鍵 | 秘密鍵欄:jelina_operator |
| OpenSSH ユーザー証明書 | 秘密鍵欄:jelina_operator。ユーザー証明書欄:jelina_operator-cert.pub |
- 秘密鍵にパスフレーズがある場合は、ユーザー秘密鍵のパスフレーズを入力します。利用可能なメンバーとデフォルト項目を設定して保存します。
共有認証情報はフリートに、個別デバイス専用の認証情報はデバイスに保存します。CA 秘密鍵はアップロードしません。保存後、ホスト ID を確認します。
デバイスのホスト ID の確認
Section titled “デバイスのホスト ID の確認”ホスト公開鍵は接続先デバイスを確認するためのもので、ユーザー鍵や CA とは異なります。デバイス上で既存の公開鍵を読み取ります。
cat /etc/ssh/ssh_host_*_key.pubデバイスの「リモートアクセス管理 → デバイスのホスト ID」で 1 行ずつ登録し、対応する完全な SHA256: フィンガープリントを照合します。一致を確認して「照合して確認」をクリックします。デバイスが複数の対応アルゴリズムを提供する場合は、それぞれ登録・確認してください。
デバイスのホスト公開鍵のフィンガープリントを確認
デバイス本体または信頼できる管理経路で、実際に存在するファイルに対して順に実行します。存在しないファイルは省略してください。
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub -E sha256デバイスの再インストールやホスト鍵の変更後は、フィンガープリントを再確認してください。
手順 4:認証情報を選択してログインを検証
Section titled “手順 4:認証情報を選択してログインを検証”- デバイス概要 →「リモートデスクトップ」を開き、「SSH」を選択してデバイスのシステムアカウントを入力します。
- 「SSH 鍵」または「OpenSSH ユーザー証明書」を選択し、保存済みの認証情報を選びます。
- アイドル切断時間と最大接続時間を確認し、「接続」をクリックします。ファイルの再アップロードや秘密鍵パスフレーズの再入力は不要です。
- ターミナルが表示されたら、次のコマンドを実行し、想定したデバイスアカウントが返ることを確認します。
whoami同じアカウントと認証方式では、デバイスの認証情報が優先されます。デバイス設定がない場合にのみフリートの項目を使用します。デバイスの認証情報が期限切れ、無効、失効、または利用権限不足の場合、自動フォールバックしません。
証明書が期限切れになったら再発行し、鍵管理で「鍵/証明書を更新」をクリックしてください。プラットフォームは自動更新せず、デバイスの認可設定も変更しません。
対応形式とよくある問題
- ユーザー鍵と発行 CA は Ed25519、RSA 2048~8192 ビットに対応します。ユーザー秘密鍵は OpenSSH-v1 形式である必要があり、秘密鍵またはユーザー証明書の最大サイズはそれぞれ 64 KiB です。
- ユーザー証明書には明確な有効期間と空でないプリンシパルが必要です。署名は Ed25519、RSA SHA-256 / SHA-512 に対応します。SHA-1、critical options、ECDSA ユーザー鍵、X.509、SSH ホスト証明書は受け付けません。
- ホスト公開鍵は Ed25519、ECDSA nistp256/384/521、RSA 2048~8192 ビットに対応します。RDP と VNC は引き続きパスワード認証です。
| 問題 | 確認事項 |
|---|---|
| 使用可能な認証情報がない | システムアカウント、認証方式、利用権限、デバイスによる上書きの有無 |
| 秘密鍵またはパスフレーズのエラー | 対応するユーザー秘密鍵とそのパスフレーズを使用しているか。CA 秘密鍵で代用できません |
| デバイスが証明書を拒否する | CA 認可プレフィックス、証明書プリンシパル、有効期間、デバイス時刻、SSH アカウントの制限 |
| ホスト ID が未確認、または変更された | 実際のネゴシエーションで使用するアルゴリズムに対応したデバイスのホスト公開鍵を再確認 |
| 接続が自動切断される | 画面のアイドル/最大時間、証明書の有効期間、デバイス状態 |
詳細な管理方法はリモートアクセス管理を参照してください。