インテル® oneAPI ベース・ツールキット (Linux* 版) 導入ガイド

SSH 接続: リモート Linux* ターゲットデバイスへのパスワードなしのアクセス

はじめに

次のような oneAPI アプリケーションでは、ターゲットシステムの root ユーザー用にパスワードなしの SSH 接続を設定する必要があります。

以下の設定手順を完了すると、非 root ユーザまたは root ユーザとして、パスワードなしでホスト開発システムからリモート Linux* ターゲットに「SSH 接続する」ことができます。

SSH の概要と SSH キーの仕組みについては、「SSH の基本: SSH サーバー、クライアント、キーの作業」 (英語) を参照してください。

パスワードなしのアクセスは、ホスト開発システムからターゲットシステムに、一致する SSH プライベート・キーで接続した場合にのみ機能します。別のホストシステムから接続しようとすると、パスワードが必要になります。

パスワードなしの SSH 接続の設定

以下の手順は、次のシステムに適用されます。

.ssh ディレクトリーのセットアップ

ホスト開発システム上で次の操作を行います。

  1. ターミナルセッションを開いて (Windows* では CMD ウィンドウ)、ホーム・ディレクトリーに移動 (cd) します。
  2. 次のコマンドで .ssh ディレクトリーを作成して、適切な権限を設定して、作成した .ssh ディレクトリーに移動 (cd) します。

    Windows* CMD プロンプト

    > %HomeDrive%  &&  cd %HomePath%
    > mkdir .ssh
    > cd .ssh
    

    Linux* ターミナル (bash) プロンプト

    $ cd ~ 
    $ mkdir -p .ssh 
    $ chmod 700 .ssh 
    $ cd .ssh

キーの生成とターゲットシステムへのコピー

以降の手順はすべてのホスト開発システム (Windows*、Linux*、macOS*) に適用されます。
  1. 空のパスフレーズ (つまり、パスフレーズを尋ねられた際に何も入力しない) で デフォルト名の RSA キーのペアを生成するには、次のコマンドを使用します。

    $ssh-keygen -t rsa

  2. ターゲットシステムの 非 root ユーザーのホームフォルダーに新しいパブリックキーをコピーするには、次のコマンドを使用します。

    username = はターゲットのアクセスに使用される名前で、target = はターゲットの IP アドレスまたはネットワーク・ホスト名です。

    ターゲットデバイスの非 root ユーザーのパスワードの入力を求められます。

    $ scp id_rsa.pub username@target:id_rsa.pub 
    $ ssh username@target 
    $ cd ~ 
    $ mkdir -p .ssh 
    $ chmod 700 .ssh 
    $ cat ~/id_rsa.pub >>.ssh/authorized_keys 
    $ chmod 600 .ssh/authorized_keys 
    $ exit 
パスワードが不要であることを確認 (非 root ユーザー)

以下の手順に従って、非 root ユーザーでパスワードが不要になったことを確認します。

  1. ターゲットのホスト名 (出力の 2 つ目のフィールド) を含むシステム情報を表示するには、次のコマンドを使用します。

    ssh username@target uname -a

ターゲットの root へのパスワードなしのアクセスを設定
  1. SSH 接続を使用してターゲットの非 root ユーザーにログインして sudo で root ユーザーに切り替えるには、次のコマンドを使用します。

    $ ssh username@target 
    $ cd ~ 
    $ sudo -E bash 

    sudo コマンドを実行すると、ターゲットシステムの非 root ユーザーのパスワードの入力を求めるプロンプトが表示されます。

  2. ターゲットの非 root ユーザーアカウントに転送したパブリックキーを root ユーザーの認証キーファイルにコピーするには、次のコマンドを使用します。

    $ mkdir -p /root/.ssh 
    $ chmod 700 /root/.ssh 
    $ cat ./id_rsa.pub >>/root/.ssh/authorized_keys 
    $ chmod 600 /root/.ssh/authorized_keys

  3. exit を 2 回実行します。1 つ目は sudo bash セッションを終了し、2 つ目は SSH 接続を終了します。

    $ exit
    $ exit
    
    

[オプション] 進捗状況の確認

ターゲットの root 接続をテストするには、次のコマンドを使用します。

$ ssh root@target ls -a

ログインプロンプトなしで、ターゲットの /root フォルダーにあるすべてのファイルの一覧が表示されます。

次のステップ: 新規接続の作成とターゲットへの接続

新規接続の作成、既存の接続の表示、ターゲットへの接続の手順については、「SSH/TCF エージェント接続を使用したボードへの接続」 (英語) を参照してください。

関連情報