xSSH Config

HOME > CONFIG

グローバル設定

グローバル設定は全体的な設定をおこないます。ここで設定した内容はターゲットごとの設定やコマンドラインの設定より優先度が低いため上書きされることがあります。

設定はglobalでおこないます。

{
    "global": {
        "connection_limit": 0,
        "log_suffix": "",
        "log_prefix": "",
        "ssh_timeout": 0,
        "logdir": ""
    }

connection_limit

xSSHの同時接続数最大値を設定します。Communityエディションは最大2接続となっており、それ以上増やすことはできません。Professionalエディションはデフォルトで論理CPUの5倍まで同時接続します。0以下の値を設定するとデフォルト値が設定されます。

Professionalエディションを利用している場合、同時接続の最大数を1以上に設定できます。

log_suffix

ログファイル名の末尾に文字列を追加します。デフォルトは空です。ここで設定した値はコマンドオプションの-suffixを設定した際に上書きされます。

log_prefix

ログファイル名の先頭に文字列を追加します。デフォルトは空です。ここで設定した値はコマンドオプションの-prefixを設定した際に上書きされます。

ssh_timeout

SSHログインが完了するまでのタイムアウト時間を設定します。デフォルトは10秒です。0以下の値を設定するとデフォルト値が設定されます。

logdir

ログファイルを保存するディレクトリを設定します。デフォルト値は$HOME/xssh/YYYYMMDDです。ここで設定した値はコマンドオプションの-logdirを設定した際に上書きされます。

ログイン設定

{
    "targets": [
        {
            "host": "",
            "port": 22,
            "auth_method": "password",
            "user": "",
            "password": ""
        }
    ]
}

host

ログイン先のIPアドレス/ホスト名はhostで設定します。hostは必須の設定です。

port

ポート番号をデフォルトの22番から変更したい場合はportで設定します。

auth_method

認証方法は次の3つから選択できます

passowrd

パスワード認証を設定します。デフォルト値のためパスワード認証を設定したい場合はauth_methodを設定する必要はありません

"auth_method": "password"

key

公開鍵認証を設定します。秘密鍵へのパスとパスフレーズを設定する必要があります。

"auth_method": "key",
"key": {
  "file": "/path/to/private_key",
  "passphrase": "PASSPHRASE"
}

challenge

チャレンジレスポンス認証(キーボードインタラクティブ認証)を設定します。

"auth_method": "challenge"

user

ユーザー名を設定します。この設定は必須です。

password

ログインパスワードを設定します。パスワード認証、チャレンジレスポンス認証では必須の設定です。

ターゲットごとの設定

{
    "targets": [
        {
            "type": "common",
            "host": "HOSTNAME",
            "auth_method": "password",
            "user": "USER",
            "password": "PASSWORD",
            "execute": {
                "command": ["COMMAND-1", "COMMAND-2", "COMMAND-3"],
                "file": ["/PATH/TO/FILE-1", "/PATH/TO/FILE-2", "PATH/TO/FILE-3"]
            }
        }
    ]
}

xSSHはtypeを設定することでターゲットごとの設定をおこなうことができます。現在対応しているtypeは次のとおりです。

common

xSSHが対応していない機器や各機種固有の機能を使う必要がない場合、ログインしてコマンドを送信するだけで十分な場合はtypecommonに設定します。

commonの詳しい設定方法はこちらをご覧ください。

cisco

typeciscoに設定すると、ログイン後にterminal length 0を自動送信します。また、enableモードに遷移してコマンドを実行できるようになります。

ciscoの詳しい設定方法はこちらをご覧ください。

fortigate

typefortigateに設定すると、複数のVDOMを切り替えながらコマンドを実行できるようになります。また、グローバルモードに遷移してコマンドを実行することもできます。

fortigateの詳しい設定方法はこちらをご覧ください。

bigip

typebigipに設定すると、ログイン時の認証モードがチャレンジレスポンス認証に設定されます(認証モードが未設定の場合)。また、tmshに遷移してコマンドをを実行できるようになります。

bigipの詳しい設定方法はこちらをご覧ください。

a10

typea10に設定すると、複数のパーティションを切り替えながらコマンドを実行できるようになります。また、enableモードに遷移してコマンドを実行することもできます。

a10の詳しい設定方法はこちらをご覧ください。

srx

typesrxに設定すると、「シェルモード」「コンフィグレーションモード」「オペレーションモード」を切り替えながらコマンドを実行できるようになります。

srxの詳しい設定方法はこちらをご覧ください。

os10

typeos10に設定すると、linuxadminでログイン時にadminへ切り替えてコマンドを実行できるようになります。

os10の詳しい設定方法はこちらをご覧ください。

ファイル転送

xSSHはSFTPによるファイルのダウンロードとアップロードに対応しています。

ファイルダウンロード

{
    "targets": [
        {
            "type": "bigip",
            "host": "xx.xx.xx.xx",
            "user": "root",
            "password": "********",
            "bigip": {
                "execute": {
                    "commands": ["tmsh save sys ucs bigip.ucs"]
                }
            },
            "download": [
                {
                    "defer": true,
                    "overwrite": true,
                    "remote_files": ["/var/local/ucs/bigip.ucs"],
                    "local_dir": "/tmp/download"
                }
            ]
        }
    ]
}

defer(デフォルト false)

defertrueに設定すると、コマンドを実行してからダウンロードを開始します。デフォルトはfalseです。BIG-IPでUCSファイルを作成してからダウンロードしたい場合などは、defertrueに設定する必要があります。

overwrite(デフォルト false)

overwritetrueに設定すると、ダウンロード先に同一ファイル名が存在している場合に上書き保存します。デフォルトはfalseです。

remote_files

ダウンロードしたいファイルを複数設定できます。

local_dir(オプション)

デフォルトではログディレクトリ配下にファイルをダウンロードします。local_dirを設定すると、別のディレクトリにファイルがダウンロードされます。

ファイルアップロード

{
    "targets": [
        {
            "type": "bigip",
            "host": "xx.xx.xx.xx",
            "user": "root",
            "password": "********",
            "bigip": {
                "execute": {
                    "commands": ["ls -l /var/local/ucs/bigip.ucs"]
                }
            },
            "upload": [
                {
                    "defer": true,
                    "overwrite": true,
                    "local_files": ["/path/to/fileA", "/path/to/fileB"],
                    "remote_dir": "/path/to/dir"
                }
            ]
        }
    ]
}

defer(デフォルト false)

defertrueに設定すると、コマンドを実行してからアップロードを開始します。デフォルトはfalseです。

overwrite(デフォルト false)

overwritetrueに設定すると、アップロード先に同一ファイル名が存在している場合に上書き保存します。デフォルトはfalseです。

local_files

アップロードしたいファイルを複数設定できます。

remote_dir

アップロード先のディレクトリを設定します。