コンテンツにスキップ
JelinaJelina Documentation技術ドキュメント
公式サイトに戻る

SSH 鍵と証明書による認証

鍵/証明書の生成 → デバイスの設定 → クラウドへのアップロード → 接続検証の 4 ステップで設定します。

準備:デバイスがアクティベート済みで Online 状態にあり、OpenSSH Server が動作していること。フリートの Master / Admin が HTTPS 経由で JelinaCloud を設定します。

手順 1:SSH 鍵/OpenSSH ユーザー証明書の生成

Section titled “手順 1:SSH 鍵/OpenSSH ユーザー証明書の生成”

通常の鍵ログインにはユーザー鍵の生成のみが必要です。証明書ログインでは、先にユーザー鍵を生成し、その後ユーザー証明書を発行します。

PC に JelinaSSH などの空フォルダーを新規作成して開き、OS に応じてターミナルを起動し、次のコマンドを実行します。

フォルダーのアドレスバーに powershell と入力して Enter キーを押し、次を実行します。

Terminal window
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"

コマンドが見つからない場合は、Windows の「オプション機能」から「OpenSSH クライアント」をインストールし、PowerShell を開き直してください。

Enter passphrase で秘密鍵のパスフレーズを設定し、Enter same passphrase again でもう一度入力します。入力文字は表示されません。パスフレーズを設定しない場合は、どちらも Enter キーのみを押します。Overwrite (y/n)? と表示された場合は n を入力し、既存ファイルを保持してください。

完了すると、現在のフォルダーに次のファイルが生成されます。

ファイル 用途と配置先
jelina_operator(拡張子なし) ログイン用のユーザー秘密鍵。クラウドの秘密鍵欄へアップロードします
jelina_operator.pub ユーザー公開鍵。通常の鍵ログインでは内容をデバイスへ追加し、証明書ログインでは CA に渡して発行を依頼します
デバイスが RSA 鍵を必要とする場合

Windows / Linux 共通で、次のコマンドを使用してください。

Terminal window
ssh-keygen -t rsa -b 3072 -a 64 -f jelina_operator_rsa -C "JelinaCloud-operator"

jelina_operator_rsa と jelina_operator_rsa.pub が生成されます。以降の手順でも、これらのファイル名を使用してください。

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 で始まります。同様に行全体をコピーします。

Windows では公開鍵ファイルを右クリックし、「プログラムから開く → メモ帳」を選択できます。authorized_keys の変更のみであれば、通常 SSH の再起動は不要です。認可パスをカスタマイズしている場合は、デバイスの設定に従ってください。

手順 3:JelinaCloud の設定と認証情報のアップロード

Section titled “手順 3:JelinaCloud の設定と認証情報のアップロード”
  1. フリートの「リモートアクセス管理 → 鍵管理」、またはデバイスの「リモートアクセス管理」を開き、「SSH 認証情報を追加」をクリックします。
  2. 名前とデバイスのシステムアカウント(operator や root など)を入力し、認証方式を選択してファイルをアップロードします。
認証方式 アップロードする内容
SSH 鍵 秘密鍵欄:jelina_operator
OpenSSH ユーザー証明書 秘密鍵欄:jelina_operator。ユーザー証明書欄:jelina_operator-cert.pub
  1. 秘密鍵にパスフレーズがある場合は、ユーザー秘密鍵のパスフレーズを入力します。利用可能なメンバーとデフォルト項目を設定して保存します。

共有認証情報はフリートに、個別デバイス専用の認証情報はデバイスに保存します。CA 秘密鍵はアップロードしません。保存後、ホスト ID を確認します。

ホスト公開鍵は接続先デバイスを確認するためのもので、ユーザー鍵や CA とは異なります。デバイス上で既存の公開鍵を読み取ります。

Terminal window
cat /etc/ssh/ssh_host_*_key.pub

デバイスの「リモートアクセス管理 → デバイスのホスト ID」で 1 行ずつ登録し、対応する完全な SHA256: フィンガープリントを照合します。一致を確認して「照合して確認」をクリックします。デバイスが複数の対応アルゴリズムを提供する場合は、それぞれ登録・確認してください。

デバイスのホスト公開鍵のフィンガープリントを確認

デバイス本体または信頼できる管理経路で、実際に存在するファイルに対して順に実行します。存在しないファイルは省略してください。

Terminal window
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256
Terminal window
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub -E sha256
Terminal window
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub -E sha256

デバイスの再インストールやホスト鍵の変更後は、フィンガープリントを再確認してください。

手順 4:認証情報を選択してログインを検証

Section titled “手順 4:認証情報を選択してログインを検証”
  1. デバイス概要 →「リモートデスクトップ」を開き、「SSH」を選択してデバイスのシステムアカウントを入力します。
  2. 「SSH 鍵」または「OpenSSH ユーザー証明書」を選択し、保存済みの認証情報を選びます。
  3. アイドル切断時間と最大接続時間を確認し、「接続」をクリックします。ファイルの再アップロードや秘密鍵パスフレーズの再入力は不要です。
  4. ターミナルが表示されたら、次のコマンドを実行し、想定したデバイスアカウントが返ることを確認します。
Terminal window
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 が未確認、または変更された 実際のネゴシエーションで使用するアルゴリズムに対応したデバイスのホスト公開鍵を再確認
接続が自動切断される 画面のアイドル/最大時間、証明書の有効期間、デバイス状態

詳細な管理方法はリモートアクセス管理を参照してください。