Amazon Elastic Compute Cloud (Amazon EC2) Linux ターミナルセッションまたは SSH セッションをテキストモードで記録し、後で共有または再生したいと考えています。
script コマンドを使用して、SSH セッションまたはターミナルセッションをファイルに記録できます。ヘルプが必要な場合は、man script コマンドを実行してユーザーマニュアルにアクセスできます。
SSH ターミナルを開きます。
ssh -i /path/KEY_PAIR_NAME.pem INSTANCE_USERNAME@IP_ADDRESS
以下のようにプレースホルダー値を置き換えます。
詳細については、「SSH クライアントを使用して Linux インスタンスに接続する」を参照してください。
スクリプトセッションを開始します。次のコマンドでは、--timing はタイミングファイルを設定します。
$ script --timing=timingfile.tm typescript.txt
記録するコマンドをすべて実行します。これにより、コマンドの出力も記録されます。
スクリプトセッションを終了するには、exit と入力するか、Ctrl-D を押します。
typescript.txt および timingfile.tm という名前のファイルには、記録されたデータが含まれます。これらのファイルは必要に応じて共有できます。
typescript.txt ファイルと timingfile.tm ファイルを Linux または Unix サーバーにコピーするか、同じサーバーから再生します。
typescript.txt ファイルの完全な出力を遅滞なく表示するには、以下のコマンドを実行します。
$ cat typescript.txt
通常のタイミングでファイルを再生するには、以下のコマンドを実行します。
$ scriptreplay --timing=timingfile.tm typescript.txt
タイミング除数を使用してファイルを再生し、より高速な再生にするには、以下のコマンドを実行します。
$ scriptreplay --timing=timingfile.tm typescript.txt -d 10
**注:**Linux コマンドの script と scriptreplay はデフォルトでプリインストールされているため、個別にインストールする必要はありません。インストールする必要がある場合は、使用しているオペレーティングシステムに応じて、以下のコマンドのいずれかを実行します。
Ubuntu 18 および Ubuntu 20
sudo apt install bsdutils
RHEL 7、RHEL 8、Amazon Linux 1、Amazon Linux 2、および Amazon Linux 2023
sudo yum install util-linux
How to record SSH sessions established through a bastion host