リモート Linux* システムでデータを収集するには、パスワードなしの SSH 接続が必要です。
サンプリング・ドライバーをロードして、特定のパフォーマンス・メトリックを収集するには root 接続が必要です。root 権限でシステムを設定し、必要であれば、非 root ユーザー向けのパスワードなしの SSH アクセスを構成します。例えば、ターゲットシステムでのサンプリング・ドライバーのビルドとロードには root アクセスを使用し、非 root ユーザーとしてシステムに接続して解析を実行します。サンプリング・ドライバーを使用しないでアクセスを設定すると、ドライバーを使用しないイベントベース・サンプリングを使用できます。
パスワードなしの SSH アクセスは以下の方法で有効にします。
インテル® VTune™ プロファイラー 2019 Update 5 以前のバージョンでは、パスワードなしの SSH 設定が異なります。詳細については、こちらの記事 (英語) を参照してください。
Windows* から Linux* へのリモート解析では、インテル® VTune™ プロファイラーは公開鍵 ID を基にパスワードなしのアクセスを自動設定します。
インテル® VTune™ プロファイラーのプロジェクトを作成します。
[解析の設定] ウィンドウで、[どこを] ペインで、[リモート Linux* (SSH)] ターゲットシステムを選択します。
[SSH の対象] フィールドでリモートシステムを user@target 形式 (例: root@172.16.254.1) で指定します。
インテル® VTune™ プロファイラーは SSH 接続を検証して、検証に失敗するとパスワードなしのアクセスを有効にするのに必要な公開/秘密鍵を生成し、インタラクティブなターミナルウィンドウに結果を出力します。
公開/秘密鍵が生成されたら、任意のキーを押して資格情報を入力し、インテル® VTune™ プロファイラーに公開/秘密鍵を自動的にコピーして適用させます。
自動で行わない場合は、CTRL + C を押します。この場合、生成された公開/秘密鍵をターミナルウィンドウで指定されたパスからターゲットシステムの ~/.ssh/authorized_keys に手動で追加する必要があります。
インテル® VTune™ プロファイラーは資格情報をパスワードなしのアクセスを有効にするため一度だけ使用して、保存しません。
鍵が適用されると、ターミナルウィンドウが閉じて、プロジェクトの設定と解析に進むことができます。以降のセッションでは、指定したシステムへのリモートアクセスに資格情報の提供を求められることはありません。
Linux* ターゲットシステムでのリモート収集には、ローカル Linux* や macOS* ホスト上で次のようにパスワードなしモードを設定します。
空のパスフレーズで鍵を生成します。
host> ssh-keygen -t rsa
鍵をターゲットシステムにコピーします。
host> ssh-copy-id user@target
代わりに、ホストシステム上に ssh-copy-id が存在しない場合、次のコマンドを使用します。
host> cat .ssh/id_rsa.pub | ssh user@target 'cat >> .ssh/authorized_keys’
パスワードが要求されないことを確認します。次に例を示します。
host> ssh user@target ls
鍵がコピーされているのにインテル® VTune™ プロファイラーが SSH 経由でリモートシステムに接続できない場合、~/.ssh と home ディレクトリーのアクセス権限と SSH デーモン設定が適切に設定されていることを確認してください。
権限
~/.ssh と ~/.ssh/authorized_keys ディレクトリーのアクセス権限がオープンでないことを確認します。
次のコマンドを使用します。
chmod go-w ~/ chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
SSH 設定
/etc/ssh/sshd_config ファイルが公開鍵認証向けに適切に設定されているか確認します。
このステップには管理者権限が必要です。
次のオプションが存在する場合、yes に設定されていることを確認してください。
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
root 権限でリモート接続するには、次のオプションを設定します。
PermitRootLogin yes
設定を変更したら、ファイルを保存して、次のコマンドで SSH サービスを再起動します。
sudo service ssh restart sudo service sshd restart (CentOS* の場合)