yamory の使い方

yamory へようこそ! yamory の基礎知識と使い方をご紹介します。

scan

scan コマンドついて、以下に記します。

概要

scan コマンドは SSH 接続によるホストのスキャン、および yamory-cli をインストールしたローカルホストのスキャンを行います。

scan コマンドでスキャンを行う際に、コマンドフラグ及び設定ファイルの内容で動作を決定します。
設定ファイルはコマンドフラグ --config より指定できますが、指定がない場合、自動的にカレントディレクトリ直下の config.yaml を読み込みます。

また、スキャンにはアクセストークンが必要です。
アクセストークンは、チーム設定画面より発行できます。
発行手順などはこちらを参照してください。

アクセストークンは、コマンドフラグ、または設定ファイルで指定できます。
両方指定された場合の優先順位は以下の通りとなり、設定ファイルの設定が無視されます。

  • コマンドフラグ(--token) > 設定ファイル(token 項目)

コマンドフラグ

フラグ 説明
--config 設定ファイルの場所 (省略時は./config.yaml )
--token/-T ホストスキャンのアクセストークン

設定ファイル

設定ファイルは yaml 形式で記述します。直下に tokenhosts キーを記述できます。

キー 必須 説明
token 文字列 ホストスキャンのアクセストークン
hosts 配列 スキャン対象の情報

hosts

スキャン対象のホストの情報が記述されているリストです。それぞれのリスト項目に下記のキーを記述できます。

SSH 接続でホストをスキャンする場合

キー 必須 説明
title 文字列 yamory サービス上表示されるスキャン対象の名前 (省略時は hostname の値)
hostname 文字列 SSH 接続する際に使われるホスト名(ドメイン名もしくは IP アドレス)
identifier 文字列 ホスト識別子。ホスト識別子には 半角英数字, -, _ のみ使用できます。
scanMode 文字列 スキャンモードの指定 (省略時は ssh)
port 数字 SSH 接続する際に使われるポート番号 (省略時は 22)
distribution 文字列 ホストの OS
version 文字列 ホストのバージョン
credentials マップ SSH 接続する際に使われる認証情報
openSystem 文字列 公開ホストの設定を true または false で指定

yamory-cli をインストールしたローカルホストをスキャンする場合

キー 必須 説明
title 文字列 yamory サービス上表示されるスキャン対象の名前 (省略時は hostname コマンドの実行結果)
identifier 文字列 ホスト識別子。ホスト識別子には 半角英数字, -, _ のみ使用できます
scanMode 文字列 スキャンモードの指定。local を指定します。
distribution 文字列 ホストの OS
version 文字列 ホストのバージョン
openSystem 文字列 公開ホストの設定を true または false で指定

identifier パラメーターについて

yamory のホストスキャン機能では、ホストの一意性を特定するためにマシン ID(/etc/machine-id の値)を使用していますが、クラウド環境などでコピーしたイメージを利用する際にマシン ID が同値となり、意図せずスキャン結果を上書きしてしまうことがあります。
そのような場合に identifier パラメーターを設定することでスキャン情報の上書きを回避できます。
identifier パラメーターには、チーム内でホストごとに一意の値になるように設定してください。

distribution、および version パラメーターについて

ホストの OS(distribution)、およびバージョン(version)が指定されている場合、 OS の自動判別が無効になります。
なお、現在指定できるdistributionは以下の通りです。

  • Amazon Linux: amazon-linux
  • CentOS: centos
  • Debian: debian
  • Oracle Linux: oracle-linux
  • Red Hat: redhat
  • Ubuntu: ubuntu

openSystem パラメーターについて

公開ホスト(外部ネットワークからパブリックアクセスが可能なホスト)として使用するかを指定することができます。
公開ホストの場合は true、非公開ホストの場合は false を指定します。
openSystem が未指定の場合、前回スキャン情報があればその状態を引き継ぎ、初回スキャン時は公開ホストとして登録されます。
本パラメータはトリアージレベルの計算に使用されます。

credentials

現在パスワード認証と公開鍵認証 2 つのパターンをサポートしています。

パスワード認証の場合

キー 必須 説明
user 文字列 SSH 接続する際に使われるユーザ名
password 文字列 SSH 接続する際に使われるパスワード

公開鍵認証の場合

キー 必須 説明
user 文字列 SSH 接続する際に使われるユーザ名
key 文字列 SSH 接続する際に使われる秘密鍵のパス
keyPassphrase 文字列 SSH 接続する際に使われる秘密鍵のパスフレーズ

設定ファイル例

token: "xxxxx"
hosts:
  - title: "my-server"
    hostname: "192.168.0.111"
    identifier: "my-server01"
    port: 22
    credentials:
      user: "ubuntu"
      key: "path/to/ssh-key.pem"
      keyPassphrase: "ubuntupass1234"
    openSystem: true
  - title: "my-new-server"
    hostname: "192.168.0.222"
    port: 22
    distribution: "ubuntu"
    version: "20.04"
    credentials:
      user: "admin"
      password: "123456"
    openSystem: false
  - title: "local-server"
    scanMode: "local"